3

我整个早上都在为这个问题在 Android 上苦苦挣扎。我有一个 ListView,我需要为其计算高度。

我正在使用这段代码:

int totalHeight = 0;
for (int size = 0; size < myListAdapter.getCount(); size++) {
    View listItem = myListAdapter.getView(size, null, myListView);
    listItem.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
    totalHeight += listItem.getMeasuredHeight();
}

然而,我在这里找到了 - 列表项的某个布局的返回值小于真实的(对于其他人来说它是准确的),最终使用它来重置列表的高度会删除它的内容。我已经查看了很多关于此的线程 - 一个提供了使布局中所有对象的高度为“wrap_content”的解决方案,例如,这对我不起作用。

我找不到任何可以在任何地方工作的东西。任何人都可以帮忙吗?

真诚的,-Lior

4

1 回答 1

0

经过大量搜索,我找到了这个线程:

如何强制 listView 的高度为大小以使每一行都可见?

这给了我解决方案......有趣的是,我花了很长时间才找到它,因为它比我之前关于这个问题的几十页更准确。

希望这将有助于传播这个词:)

里奥

于 2013-11-07T12:15:28.207 回答