287_计算并设置ListView的高度

来源:互联网 发布:pop3使用的端口号 编辑:程序博客网 时间:2024/05/17 23:56






计算并设置ListView的高度




    private void setListViewHeight(ListView listView) {
        //定义总高度
        int totalHeight = 0;
        
        //拿到适配器
        ListAdapter adapter = listView.getAdapter();
        
        //获取适配器的条目个数getCount,遍历
        for (int i = 0, len = adapter.getCount(); i < len; i++) {
            
            //getView拿到条目
            //三个参数是int position, View convertView, ViewGroup parent
            View listItem = adapter.getView(i, null, listView);
            
            //测量条目
            listItem.measure(0, 0); 
            
            //拿到测量的高度,然后加起来
            totalHeight += listItem.getMeasuredHeight(); 
        }


        //设置高度
        ViewGroup.LayoutParams params = listView.getLayoutParams();
        params.height = totalHeight + (listView.getDividerHeight() * (listView.getCount() - 1));
        listView.setLayoutParams(params);
    }





0 0