我想知道如何通过计算项目视图来设置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();
}
但是,如果我根据ListView
加入BaseAdapter
课程会怎么样?
答案 0 :(得分:0)
BaseAdapter只实现ListAdapter适配器接口,因此您的代码没有理由不能与BaseAdapter一起使用。你可以试试这个:
BaseAdapter listAdapter = (BaseAdapter)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();
}