0

我想知道如何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呢?

4

1 回答 1

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();
}
于 2013-03-10T15:42:45.323 回答