Как мне отобразить 2 списка просмотра на одном экране

#android #listview

#Android #listview

Вопрос:

Я хотел бы отобразить 2 списка на одном экране с помощью одной прокрутки. Если я использую 2 отдельных listviews, они получают свои собственные полосы прокрутки.

Мой экран должен выглядеть так, как показано ниже, с одной прокруткой

listName1 // textview
list1 item0
list1 item1
list1 item2
и еще несколько

listName2 // другой textview, отделяющий первый список от второго
list2 item0
list2 item1
list2 item2
и еще несколько

Есть предложения?

Ответ №1:

Что-то вроде этого:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="${packageName}.${activityClass}" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:orientation="vertical" >

    <TextView
        android:id="@ id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView" />

    <ListView
        android:id="@ id/listView2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
         >
    </ListView>
</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:orientation="vertical" >

    <TextView
        android:id="@ id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView" />

    <ListView
        android:id="@ id/listView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </ListView>

</LinearLayout>
  

Комментарии:

1. вы не должны использовать wrap_content при использовании weight. Если содержимое больше, чем пробел, оно увеличит занимаемое им пространство. используйте wrap_content, когда вы полностью уверены, что объем содержимого не превысит доступное пространство, в противном случае используйте 0dp.

Ответ №2:

Вы можете использовать пользовательский расширяемый ListView и программно сделать его расширенным, это решит вашу проблему. 1) Прокрутка будет только один раз 2) Вы также можете поместить заголовок

Комментарии:

1. Это хороший учебник от ANDROID hive androidhive.info/2013/07/android-expandable-list-view-tutorial