Как иметь несколько элементов ListView в LinearLayout, все в NestedScrollview?

Попытка создать приложение для Android с пользовательским интерфейсом, похожим на Google Play Store:

  • Панель приложений, которая скрывается при прокрутке вверх и отображается при прокрутке вниз
  • Панель вкладок, которая постоянно остается видимой и доступной для кликов
  • Несколько простых элементов пользовательского интерфейса, таких как ImageViews и TextViews, на каждой вкладке.
  • Несколько разных ListViews и GridViews на каждой вкладке

http://grailcloset.com/hosted/gps1.png http://grailcloset.com/hosted/gps2.png

Первые три работают нормально, но размещение любого типа ListView (также RecyclerView) внутри LinearLayout внутри NestedScrollView отображает только первый элемент списка, как задокументировано:

В списке Android отображается только один элемент

Вкратце:

Деятельность:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/coordinatorLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appBarLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:layout_scrollFlags="scroll|enterAlways" />
        <android.support.design.widget.TabLayout
            android:id="@+id/tabLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:tabTextColor="@android:color/white"
            app:tabSelectedTextColor="@android:color/white"
            app:tabIndicatorColor="@android:color/white"
            app:tabIndicatorHeight="6dp"/>
    </android.support.design.widget.AppBarLayout>
    <android.support.v4.view.ViewPager
        android:id="@+id/viewPager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

</android.support.design.widget.CoordinatorLayout>

Фрагмент:

<FrameLayout 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"
    tools:context="com.soletrade.grailsandroid.NewsFragment">

    <android.support.v4.widget.NestedScrollView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Large Text"
                android:id="@+id/textView" />

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

        </LinearLayout>
    </android.support.v4.widget.NestedScrollView>


</FrameLayout>

не работает для отображения нескольких списков и сеток в линейном макете.

Любая помощь будет потрясающей, спасибо!


person ogoldbart3    schedule 19.10.2015    source источник
comment
Зачем вам нужно несколько списков? Снимок экрана, который у вас есть, может быть реализован с помощью одного ListView и нескольких кнопок вверху.   -  person pgiitu    schedule 20.10.2015
comment
Потому что в проекте, который мне нужен, было бы здорово иметь серию списков и сеток с разными макетами на одной вкладке. Это выполнимо только с кучей таблиц, но несколько списков упростят задачу. Кроме того, при попытке сделать это с помощью простых кнопок вверху отображается только один элемент из списка.   -  person ogoldbart3    schedule 20.10.2015