Android(安卓)ScrollView里嵌套ListView
16lz
2022-04-18
public class Utility { public static void setListViewHeightBasedOnChildren(ListView listView) { //获取ListView对应的Adapter ListAdapter listAdapter = listView.getAdapter(); if (listAdapter == null) { return; } int totalHeight = 0; for (int i = 0, len = listAdapter.getCount(); i < len; i++) { //listAdapter.getCount()返回数据项的数目 View listItem = listAdapter.getView(i, null, listView); listItem.measure(0, 0); //计算子项View 的宽高 totalHeight += listItem.getMeasuredHeight(); //统计所有子项的总高度 } ViewGroup.LayoutParams params = listView.getLayoutParams(); params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1)); //listView.getDividerHeight()获取子项间分隔符占用的高度 //params.height最后得到整个ListView完整显示需要的高度 listView.setLayoutParams(params); } }
在setAdapter方法之后调用
new Utility().setListViewHeightBasedOnChildren(lv);
更多相关文章
- android GPS JAVA应用程序编程-------获得经纬度,卫星信息等
- Android获取StatusBa有效高度
- [整理]android中几种常见的尺寸
- android有用代码片段
- Android输入法遮挡问题的解决思路
- android设置Spinner字体颜色,格式,大小
- android 设置Button或者ImageButton的背景透明 半透明 透明
- Android(安卓)Maven 采用第三方jar包,程序运行时报错的解决方案
- android webview 使用以及一些常见的异常处理