//自定义listview的高度
private void listviewHeight(ListView list){
ListAdapter listadapte = list.getAdapter();
if(listadapte==null){
return;
}
int totalH=0;
for(int i=0,len=listadapte.getCount();i<len;i++){
//listadapte.getCount()返回数据项的数目
View listitem=listadapte.getView(i, null, list);
//计算子项的高度
listitem.measure(0, 0);
//计算所有子项的高度
totalH+=listitem.getMeasuredHeight();
}
ViewGroup.LayoutParams params=list.getLayoutParams();
//params.height获取整个listview的高度
//list.getDividerHeight()获取子项间隔符几个高度
params.height=totalH+(list.getDividerHeight()*(listadapte.getCount()-1));
list.setLayoutParams(params);
}
最后在oncreate()调用此方法
时间: 2024-11-29 11:30:48