Android 计算可扩展列表';运行时的列表项高度

Android 计算可扩展列表';运行时的列表项高度,android,android-listview,Android,Android Listview,我正在我的一个ListAdapters中使用baseexpandablelistapter 要求获取父项的列表项的高度 我尝试在getGroupView()中使用以下代码: 但totalHeight正在返回0 那么,我如何&在哪里可以计算高度 谢谢您想使用onPreDrawListener 高度为0,因为您要求的是它的高度,而它尚未布局,因此您必须等待布局 这大概就是您的代码应该是什么样子 convertView.getViewTreeObserver().addOnPreDrawListene

我正在我的一个
ListAdapters
中使用
baseexpandablelistapter

要求获取父项的
列表项的高度

我尝试在
getGroupView()
中使用以下代码:

但totalHeight正在返回0

那么,我如何&在哪里可以计算高度


谢谢

您想使用onPreDrawListener

高度为0,因为您要求的是它的高度,而它尚未布局,因此您必须等待布局

这大概就是您的代码应该是什么样子

convertView.getViewTreeObserver().addOnPreDrawListener(new OnPreDrawListener() {

            @Override
            public boolean onPreDraw() {
                listItem.measure(0, 0);
                totalHeight = listItem.getMeasuredHeight();
                getViewTreeObserver().removeOnPreDrawListener(this);
                return false;
            }
    });
convertView.getViewTreeObserver().addOnPreDrawListener(new OnPreDrawListener() {

            @Override
            public boolean onPreDraw() {
                listItem.measure(0, 0);
                totalHeight = listItem.getMeasuredHeight();
                getViewTreeObserver().removeOnPreDrawListener(this);
                return false;
            }
    });