描述
RecyclerView嵌套ListView后ListView只显示第一个item
原因
原因大概是多个滑动列表嵌套,导致比较早期的列表不知道自己有多高了
解决方案
可以通过重新测量子列表的高度来解决,具体的实现代码有两种可供参考:
方案一:在Adapter内部用一个函数解决
参考:https://blog.csdn.net/lch1251680944/article/details/52275654
// ListView的普通适用(此处笔者使用的是ArrayAdapter,也可以用其他的比如SimpleAdapter或自定义Adapter)
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(mContext, android.R.layout.simple_list_item_1, arrData); // 构建适配器
holder.listview.setAdapter(arrayAdapter); // 设置适配器
// 目标代码
setListViewHeightBasedOnChildren(holder.listview);
...
...
...
// 目标代码具体实现
public static void setListViewHeightBasedOnChildren(ListView listView) {
// 获取ListView对应的Adapter
ListAdapter listAdapter = listView.getAdapter();