如何使用RcyclerView和GridLayoutManager列出列表

时间:2019-02-19 00:25:24

标签: android android-recyclerview gridlayoutmanager

我有一个日子清单,每天都有一个事件清单。如何显示当天项目中的事件列表?与Google日历相同

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

2 个答案:

答案 0 :(得分:0)

在您的日间单元中,创建另一个容纳(垂直项目)的回收站视图。假设每个位置都有不同的数据列表,那么从每个父位置收集数据并设置为每个位置的childAdapter

示例:

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

答案 1 :(得分: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)