ScrollView嵌套listview 时根据内容动态设置listview高度

时间:2023-03-09 04:24:35
ScrollView嵌套listview 时根据内容动态设置listview高度
 public static void setListViewHeightBasedOnChilds(ListView listView){
ListAdapter listAdapter = listView.getAdapter();
if(listAdapter==null){
return;
}
int totalHeight=0;
int totalDividerHeight=0;
for(int i = 0;i<listAdapter.getCount();i++){
View listItem=listAdapter.getView(i, null, listView);
listItem.measure(0,0);
totalHeight+=listItem.getMeasuredHeight();
}
totalDividerHeight=listView.getDividerHeight()*(listAdapter.getCount()-1);
ViewGroup.LayoutParams params=listView.getLayoutParams();
params.height=totalHeight+totalDividerHeight;
listView.setLayoutParams(params);
}

亲测可用。