解决lScrollView嵌套ListView只显示一行的问题,listvie显示全部的item

ScrollView嵌套ListView只显示一行的问题

1.思路:给listview重新添加一个高度。

    listview的高度==listview.item的高度之和。

2.注意:关键是添加listItem.measure(0, 0);,listview的item的布局一定要线性布局。其他布局就会报错。

3.贴上网上找到代码

 1 public class Utility { 
 2     public static void         setListViewHeightBasedOnChildren(ListView listView) { 
 3         ListAdapter listAdapter = listView.getAdapter();  
 4         if (listAdapter == null) { 
 5             // pre-condition 
 6             return; 
 7         } 
 8  
 9         int totalHeight = 0; 
10         for (int i = 0; i < listAdapter.getCount(); i++) { 
11             View listItem = listAdapter.getView(i, null, listView); 
12             listItem.measure(0, 0); 
13             totalHeight += listItem.getMeasuredHeight(); 
14         } 
15  
16         ViewGroup.LayoutParams params = listView.getLayoutParams(); 
17         params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1)); 
18         listView.setLayoutParams(params); 
19     } 
20 } 

 

 

posted @ 2013-07-06 17:33  大暴雨  阅读(483)  评论(0编辑  收藏  举报