如何使用RecyclerView和GridLayoutManager创建列表列表

问题描述 投票:0回答:2

我有一个日期列表,每天都有一个事件列表。如何显示日期项目中的事件列表?与谷歌日历相同

例如https://lh3.googleusercontent.com/bWNeO_FeYhGvuJ2UGNTrYVXWk4G3Re21-sOgdjM5V7ZaxehFUJDq7qaevvASs5tnbLNL=w1536-h674-rw

android android-recyclerview gridlayoutmanager
2个回答
0
投票

在您的日期单元格中,创建另一个保留的回收器视图(垂直项目)。假设每个位置具有不同的数据列表,因此从每个父位置收集数据并设置为每个位置的childAdapter

例:

  1. 假设您有一个使用Recycler视图的日历,该视图由ParentViewHolder保存数据。
  2. 在您的ParentViewHolder创建另一个Recycler视图像ChildRecyclerView。
  3. 为ChildRecyclerView创建ChildAdapter,使用ChildViewHolder保存垂直项目。
  4. 在ChildViewHolder上添加必要的操作。

0
投票

1.带有GridLayoutManger的RecyclerView中的日期项视图

2.带有LinearLayoutManger的RecyclerView中的事件项视图

3.将事件RecyclerView的高度设置为wrap_content

4.要获得良好的性能,您应该使所有RecyclerView使用相同的RecyclerViewPool:

在活动/片段中:

// field
var globalViewPool = RecycledViewPool()
// ....

// init view
dayRecyclerView.setRecycledViewPool(globalViewPool)

在EventAdapter中:

// onCreateViewHolder
eventRecyclerView.setRecycledViewPool(globalViewPool)
© www.soinside.com 2019 - 2024. All rights reserved.