美文网首页
ListView中嵌套ListView

ListView中嵌套ListView

作者: 诠_释 | 来源:发表于2017-09-20 15:31 被阅读0次

/**

* 设置Listview的高度

*/

public void setListViewHeight(ListView listView) {

ListAdapter listAdapter = listView.getAdapter();

if(listAdapter ==null) {

return;

}

inttotalHeight =0;

for(inti =0; i < listAdapter.getCount(); i++) {

View listItem = listAdapter.getView(ia,null, listView);

listItem.measure(0,0);

totalHeight += listItem.getMeasuredHeight();

}

ViewGroup.LayoutParamsparams = listView.getLayoutParams();

params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() -1));

listView.setLayoutParams(params);

}

这个方法设置的item的Layout必须是带有onMeasure()方法的控件,否则在计算的时候会报错,建议使用LinearLayout。

第二种(自定义ListView)

@OverridepublicvoidonMeasure(intwidthMeasureSpec,intheightMeasureSpec){intexpandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >>2,

MeasureSpec.AT_MOST);super.onMeasure(widthMeasureSpec, expandSpec);

}

相关文章

网友评论

      本文标题:ListView中嵌套ListView

      本文链接:https://www.haomeiwen.com/subject/utdosxtx.html