您的位置:首页 > 移动开发 > Android开发

Android开发工具类(各种方法调用 )

2016-08-30 15:30 429 查看
ListView中嵌套ListView,动态计算内层ListView的高度。但是子ListView的每个Item必须是LinearLayout,不能是其他的,因为其他的Layout(如RelativeLayout)没有重写onMeasure(),所以会在onMeasure()时抛出异常。

public class Utility {    

    public static void setListViewHeightBasedOnChildren(ListView listView) {    

        ListAdapter listAdapter = listView.getAdapter();     

        if (listAdapter == null) {    

            // pre-condition    

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

        listView.setLayoutParams(params);    

    }
4000
    

}    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: