码迷,mamicode.com
首页 > 其他好文 > 详细

ScrollView和ListView的冲突问题

时间:2016-04-07 13:22:22      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:

 

在ScrollView添加一个ListView会导致listview控件显示不全,这是因为两个控件的滚动事件冲突导致。所以需要通过listview中的item数量去计算listview的显示高度,从而使其完整展示,如下提供一个方法供大家参考。

示例代码:

 

public void setListViewHeightBasedOnChildren(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); 
totalHeight += listItem.getMeasuredHeight(); 
} 
 
ViewGroup.LayoutParams params = listView.getLayoutParams(); 
params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1)); 
params.height += 5;//if without this statement,the listview will be a little short 
listView.setLayoutParams(params); 
}

 

ScrollView和ListView的冲突问题

标签:

原文地址:http://www.cnblogs.com/yaxiaoke/p/5362942.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!