测试Test

 1 public void setListViewHeightBasedOnChildren(ListView listView) {   
 2         // 获取ListView对应的Adapter   
 3         ListAdapter listAdapter = listView.getAdapter();   
 4         if (listAdapter == null) {   
 5             return;   
 6         }   
 7    
 8         int totalHeight = 0;   
 9         for (int i = 0, len = listAdapter.getCount(); i < len; i++) {   
10             // listAdapter.getCount()返回数据项的数目   
11             View listItem = listAdapter.getView(i, null, listView);   
12             // 计算子项View 的宽高   
13             listItem.measure(0, 0);    
14             // 统计所有子项的总高度   
15             totalHeight += listItem.getMeasuredHeight();    
16         }   
17    
18         ViewGroup.LayoutParams params = listView.getLayoutParams();   
19         params.height = totalHeight+ (listView.getDividerHeight() * (listAdapter.getCount() - 1));   
20         // listView.getDividerHeight()获取子项间分隔符占用的高度   
21         // params.height最后得到整个ListView完整显示需要的高度   
22         listView.setLayoutParams(params);   
23     }   

 

 

 1 public void setListViewHeightBasedOnChildren(ListView listView) {   
 2         // 获取ListView对应的Adapter   
 3         ListAdapter listAdapter = listView.getAdapter();   
 4         if (listAdapter == null) {   
 5             return;   
 6         }   
 7    
 8         int totalHeight = 0;   
 9         for (int i = 0, len = listAdapter.getCount(); i < len; i++) {   
10             // listAdapter.getCount()返回数据项的数目   
11             View listItem = listAdapter.getView(i, null, listView);   
12             // 计算子项View 的宽高   
13             listItem.measure(0, 0);    
14             // 统计所有子项的总高度   
15             totalHeight += listItem.getMeasuredHeight();    
16         }   
17    
18         ViewGroup.LayoutParams params = listView.getLayoutParams();   
19         params.height = totalHeight+ (listView.getDividerHeight() * (listAdapter.getCount() - 1));   
20         // listView.getDividerHeight()获取子项间分隔符占用的高度   
21         // params.height最后得到整个ListView完整显示需要的高度   
22         listView.setLayoutParams(params);   
23     }   

 

public 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);   
            // 计算子项View 的宽高   
            listItem.measure(0, 0);    
            // 统计所有子项的总高度   
            totalHeight += listItem.getMeasuredHeight();    
        }   
   
        ViewGroup.LayoutParams params = listView.getLayoutParams();   
        params.height = totalHeight+ (listView.getDividerHeight() * (listAdapter.getCount() - 1));   
        // listView.getDividerHeight()获取子项间分隔符占用的高度   
        // params.height最后得到整个ListView完整显示需要的高度   
        listView.setLayoutParams(params);   
    }   

 

posted @ 2015-08-05 13:48  悠然海边  阅读(137)  评论(0)    收藏  举报