Android(安卓)遇坑【2】 - ScrollView 嵌套 ListView 时ListView数据显示不全
16lz
2022-08-03
ScrollView 嵌套 ListView 时,Android 会无法正确的计算 ListView 的大小。
因而提供两种 解决方法 :
- layout文件 中去掉嵌套
- 计算 listView 高度
private void fixListViewHeight(ListView listView) { int totalHeight = 0; // 如果没有设置数据适配器,则 ListView 没有子项,返回 ListAdapter listAdapter = listView.getAdapter(); if (listAdapter == null) return; for (int index = 0,len = listAdapter.getCount(); index < len; index++ ) { View listViewItem = listAdapter.getView(index,null,listView); // 计算子项 View 的宽高 listViewItem.measure(0, 0); // 计算所有子项的高度和 totalHeight += listViewItem.getMeasuredHeight(); } ViewGroup.LayoutParams params = listView.getLayoutParams(); //listView.getDividerHeight () 获取子项间分隔符的高度 //params.height 设置 ListView 完全显示需要的高度 params.height = totalHeight + (listView.getDividerHeight()*(listAdapter.getCount()-1)); listView.setLayoutParams(params); }
使用方法:
//适配器创建及设置 setting_adapter = new Setting_Adapter(getActivity(),data); list.setAdapter(setting_adapter); //解决ScrollView中listview显示数据不全的问题 fixListViewHeight(list);
更多相关文章
- android EditText设置不可写
- android“设置”里的版本号
- 在Fragment中设置控件点击方法,执行失败。
- Android(安卓)闹钟管理类的使用
- Android设置通知栏/状态栏透明改变通知栏颜色和app最上部分颜色
- android 设置中划线 下划线等
- Andorid Dialog 示例【慢慢更新】
- Android软键盘适配问题
- android图表ichartjs