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しかし、 for に基づいたクラスに入れるとどうなる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 に答える