ListView игнорирует wrap_content - PullRequest
9 голосов
/ 29 ноября 2010

У меня проблема с ListView в Android. Когда я устанавливаю 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 ]

30 голосов
/ 29 сентября 2011

Вы никогда не должны устанавливать высоту ListView равной wrap_content. Либо установите высоту fill_parent, либо сделайте что-то вроде этого:

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

Источник: http://www.youtube.com/watch?v=wDBM6wVEO70&t=40m45s

10 голосов
/ 01 августа 2012

Похоже, вы пытаетесь добавить заголовок в свой список. Listview имеет встроенную поддержку верхних и нижних колонтитулов. Способ установки заголовка - listview.addHeader(View view). Вы можете настроить заголовок по мере необходимости.

2 голосов
/ 02 марта 2015

использовать ExpandableHeightGridView.java из gitHub ExpandableHeightGridView Попробуйте для прокрутки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...