片段中的listview始终返回相同的高度

时间:2014-08-04 02:16:35

标签: android listview android-fragments android-listview

我尝试使用以下代码获取片段中使用的列表视图的高度值:

listView.getViewTreeObserver().addOnGlobalLayoutListener(new   ViewTreeObserver.OnGlobalLayoutListener() {
    @Override
    public void onGlobalLayout() {
        // make sure it is not called anymore 
        listView.getViewTreeObserver().removeGlobalOnLayoutListener(this);

        listView.getHeight();//return zero
    }
});

然而它总是返回零。

然后,我尝试了其他人建议的其他解决方案。

listView.post(new Runnable() {
    @Override
      listView.getHeight();//return zero
    }
  }
)

它也返回零。

然后,我将listView.getHeight()放在listView.onItemClickListener()中,以确保完全绘制listView。令我惊讶的是,无论此ListView中的项目数是多少,它始终返回相同的值(不为零)。

有没有人对此有解释?

片段膨胀listView.xml

listView.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">


    <ListView
        android:id="@+id/listView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:divider="@color/divider_color"
        android:dividerHeight="10dp"
        android:choiceMode="singleChoice" />


</RelativeLayout>

0 个答案:

没有答案