展会信息港展会大全

Android学习 之 问题&解答 ScrollView中嵌套ListView时显示不全的简便解决方案
来源:互联网   发布日期:2015-11-26 15:36:01   浏览:2527次  

导读:利用下面这个Utility 类的静态方法setListViewHeightBasedOnChildren()即可实现:在listview.setAdapter()之后调用Util...

利用下面这个Utility 类的静态方法setListViewHeightBasedOnChildren()即可实现:

在listview.setAdapter()之后调用Utility.setListViewHeightBasedOnChilren(listview)就Okay 了。

public class Utility {

public static void setListViewHeightBasedOnChildren(ListView listView) {

//获取ListView对应的Adapter

ListAdapter listAdapter = listView.getAdapter();

if (listAdapter == null) {

// pre-condition

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);

}

}

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港