我正在做一个 RecyclerView
,它将有两个不同的项目,但我不知道我该怎么做。
首先:我有一个对象的ArrayList
,但我不知道如何将与日期相关的时间放入RecyclerView
。
日期 - 组项目。
Times - 子项。
Object { Date date; ArrayList times; }
第二:如果项目的位置不是预期的,我如何根据适配器中的项目更改 spanSize? (GridLayoutManager
)
最佳答案
要回答您的第二部分,要根据项类型(组或子项)更改跨度大小,您可以在 GridLayoutManager
上设置跨度大小查找。在您的适配器中,您实现 getItemViewType()
并根据位置返回 View 类型。例如。 0 代表组,1 代表 child ,在这种情况下 MyAdapter.VIEW_TYPE_GROUP
将为 0。
RecyclerView list = (RecyclerView) view.findViewById(
R.id.my_fragment_my_recycler_view);
GridLayoutManager layoutManager = new GridLayoutManager(getActivity(), 5);
layoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
if (list.getAdapter().getItemViewType(position) == MyAdapter.VIEW_TYPE_GROUP) {
// return the number of columns so the group header takes a whole row
return 5
}
// normal child item takes up 1 cell
return 1;
}
});
关于android - 具有不同项目(组和子项目)的 RecyclerView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30147512/