动态加载3条数据,listview出现这种情况。我重新计算的代码如下:
public static void resetListViewHeight(ListView listView) {
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null) {
return;
}
int totalHeight = 0;
for (int i = 0; i < listAdapter.getCount(); i++) {
View listItem = listAdapter.getView(i, null, listView);
listItem.measure(0, 0); //计算子项view的宽高
totalHeight += listItem.getMeasuredHeight();
}
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight + (listView.getpiderHeight() * (listAdapter.getCount() - 1));
listView.setLayoutParams(params);
}
listview的子项布局用的是linearlayout。请问大神们是怎么回事?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
将xml中的ListView改用下面的ListViewForScrollView试一下。
ListView 灵活性太高了,你这个效果完全可以使用原生的ListView来实现。