gpt4 book ai didi

android - 具有不同项目(组和子项目)的 RecyclerView

转载 作者:行者123 更新时间:2023-11-29 15:12:05 25 4
gpt4 key购买 nike

我正在做一个 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com