1

我想要一个像可扩展 ListView 一样可折叠的 RecyclerView,并且每个 paren 的子项将呈现一个 GridView 布局管理器。

可能吗?谁能指导我如何做到这一点?谢谢

4

3 回答 3

2

这里有一个完整的例子,说明如何使用这个实现一个可扩展的 GridView 。

基本上,您使用该库将您的项目分组为部分,以便为每个部分设置一个标题,但您可以自己实现它。

然后添加 a GridLayoutManager,定义每行有多少列(在本例中为 2 列)并将标题设置为每行 2 列的跨度大小,并将子项设置为每行 1 列的跨度大小:

    GridLayoutManager glm = new GridLayoutManager(getContext(), 2);
    glm.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
        @Override
        public int getSpanSize(int position) {
            switch(sectionAdapter.getSectionItemViewType(position)) {
                case SectionedRecyclerViewAdapter.VIEW_TYPE_HEADER:
                    return 2;
                default:
                    return 1;
            }
        }
    });
    recyclerView.setLayoutManager(glm);

为了展开/折叠这些部分,请检查示例中变量expanded的使用。

于 2016-05-31T12:20:09.233 回答
1

您可以使用Expandable RecyclerView 这个例子。它提供了一个可扩展的 RecyclerView,其中包含可以单独展开以在二维滚动网格中显示其子项的组项。可以选择每个网格项目。

它是这样工作的:每个 ChildViewHolder 对象从 RecyclerView 适配器接收一个数据数组以显示在网格行中。然后它将其行的布局分解为相同大小的矩形单元格。每个单元格显示一条数据。

希望这会帮助任何寻找这个的人。

于 2016-05-31T10:49:18.853 回答
0

您可以使用Expandable RecyclerVewand for children view 使用 other RecyclerViewwithGridLayoutManager

https://github.com/bignerdranch/expandable-recycler-view

于 2016-03-13T12:20:31.457 回答