Den*_*gin 1 height android listview android-listview
我需要在运行时获得准确的listView高度.
当我使用下面的代码时,每个listItem的高度不正确.
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();
}
params.height = totalHeight + listview.getDividerHeight()* (listAdapter.getCount() -1);
listview.setLayoutParams(params);
listview.requestLayout();
Run Code Online (Sandbox Code Playgroud)
当我使用getChild版本时,高度准确但总计数已关闭...
int total = 0;
for (int i = 0; i < listview.getChildCount(); i++) {
View childAt = listview.getChildAt(i);
if (childAt == null)
continue;
int childH = childAt.getMeasuredHeight();
total += childH;
}
int div = listview.getDividerHeight();
total += (div * (listAdapter.getCount() - 1));
if (params.height != total) {
getLogger().info("setting measured buttons list to height: " + total);
params.height = total;
listview.requestLayout();
ViewParent parent = listview.getParent();
Run Code Online (Sandbox Code Playgroud)
你遇到过这个问题吗?
如果你只是想找到listView
你可以使用的高度
listView.post(new Runnable()
{
public void run()
{
listView.getHeight();
}
});
Run Code Online (Sandbox Code Playgroud)