我需要创建一个可扩展的RecyclerView,每次单击只打开一个项目(所有其他项目都必须关闭)。
我知道有可能在ExpandableListView的帮助下完成此操作,然后使用下一个代码:

elv.setOnGroupExpandListener(new OnGroupExpandListener() {

    @Override
    public void onGroupExpand(int groupPosition) {
            if (lastExpandedPosition != -1
                    && groupPosition != lastExpandedPosition) {
                elv.collapseGroup(lastExpandedPosition);
            }
            lastExpandedPosition = groupPosition;
    }
});

但是,有没有办法使用RecyclerView

最佳答案

Here是从Big Nerd Ranch扩展RecyclerView的好教程。
总结:
定义两个布局:一个用于父项,一个用于子项。
为这些布局定义两个viewholder。
为父对象和子对象定义两个类。
父对象必须实现parent object接口。
定义自定义适配器。
在适配器上调用setParentAndIconExpandOnClick(true)
对于一次仅一个展开视图,可以跟踪上一个展开视图,并在用户剪贴新视图时将其关闭。

10-07 20:49