我需要创建一个可扩展的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)
。
对于一次仅一个展开视图,可以跟踪上一个展开视图,并在用户剪贴新视图时将其关闭。