ringa_lee
listview嵌套listview肯定要爆炸的 ,建议及早脱坑, 用ExpandableRecyclerAdapter之类的
写过3层的ListView,每层的交互&数据类型不一样。讲一下我思考过几个方式:
ListView嵌套ListView:不可取,每个二级的ListView之间无法高效复用。
ListView嵌套LinearLayout:通过点击,控制下一层级的ListView是否可见:根据场景,如果是简单的层级的LinearLayout,差不多只有1~2层的还可以考虑下,但是像你这种多层的,千万别用,因为要Inflate很多次新的布局,而且不同的二级ListView之间复用又是问题来了。
ListView点击后addView:点击某个item后,在这个item的index之后添加子数据,将界面的复用交给系统Listview组件,复用高。但是,对你的数据架构要求,而且需要手动remove。算是可以考虑的一种。
使用ExpandableListView:这个应该和你的要求非常符合!建议使用。
若你用的不是Listview,而是RecycleView,可以考虑使用楼上作者说的ExpandableRecyclerAdapter。
listview嵌套listview肯定要爆炸的 ,建议及早脱坑, 用ExpandableRecyclerAdapter之类的
写过3层的ListView,每层的交互&数据类型不一样。
讲一下我思考过几个方式:
ListView嵌套ListView:不可取,每个二级的ListView之间无法高效复用。
ListView嵌套LinearLayout:通过点击,控制下一层级的ListView是否可见:根据场景,如果是简单的层级的LinearLayout,差不多只有1~2层的还可以考虑下,但是像你这种多层的,千万别用,因为要Inflate很多次新的布局,而且不同的二级ListView之间复用又是问题来了。
ListView点击后addView:点击某个item后,在这个item的index之后添加子数据,将界面的复用交给系统Listview组件,复用高。但是,对你的数据架构要求,而且需要手动remove。算是可以考虑的一种。
使用ExpandableListView:这个应该和你的要求非常符合!建议使用。
若你用的不是Listview,而是RecycleView,可以考虑使用楼上作者说的ExpandableRecyclerAdapter。