ListView忽略wrap_content

时间:2010-11-29 01:14:40

标签: android android-layout

Android中的ListView存在问题。 当我设置android:layout_height="wrap_content"时,ListView只保留一行或两行,我找不到让他“包裹”的方法。

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="vertical"
            android:gravity="center">
            <TextView
                android:id="@+id/question" 
                android:layout_width="fill_parent"  
                android:layout_height="wrap_content" />
            <ListView android:id="@+id/ListView01"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" />
        </LinearLayout>
    </ScrollView>
</FrameLayout>

有没有办法实现这个目标?提前谢谢!

3 个答案:

答案 0 :(得分:30)

您永远不应将ListView的高度设置为wrap_content。将高度设置为fill_parent或执行以下操作:

<ListView
    android:layout_height="0dp"
    android:layout_weight="1"
    />

来源:http://www.youtube.com/watch?v=wDBM6wVEO70&t=40m45s

答案 1 :(得分:10)

您似乎正在尝试向列表视图添加标题。 Listview内置了对标题(和页脚)的支持。设置标题的方法是listview.addHeader(View view)。您可以根据需要自定义标题。

答案 2 :(得分:2)

使用gitHub ExpandableHeightGridView的ExpandableHeightGridView.java尝试使用scrollview