Set the height of listView for nested use of listView

若是listView中嵌套使用listView就会出现listView显示不全的情况,解决办法就是计算出listView的高度,在进行listView的参数设置
//根据listView中内容来确定listView的高度 add by brander 2016-11-8
        setListViewHeight(holder.OrderDetailList);
/**
     * 根据listView中内容来确定listView的高度
     * add by brander 2016-11-8
     * @param listView
     */
    private void setListViewHeight(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));
        listView.setLayoutParams(params);
    }


Guess you like

Origin blog.csdn.net/u013377003/article/details/53389991