ListView 仅显示第一个结果 - 仅在移动设备中:MasterDetail View

ListView only showing first result - only in mobile device : MasterDetail View

我在 Master/Detail 基于模板的应用程序的详细视图中遇到了这个问题。 即时填充详细视图中的可扩展列表。它在平板电脑视图中工作正常。但在移动设备中,它只显示第一个结果。我什至尝试删除 CollapsingToolbarLayout 以确保列表视图不会被任何其他滚动选项阻止。但我找不到问题。

设置适配器

ArrayList<ClientList> clientLists = ClientList.getClientList(getActivity(), clientResult);
Log.e("Client","--"+clientLists.size()); //Im getting the list size as normal 
clientExpandableAdapter = new ClientExpandableAdapter(getActivity(), clientLists);
expandableListView.setAdapter(clientExpandableAdapter);
expandableListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
    @Override
    public boolean onChildClick(ExpandableListView expandableListView, View view, int i, int i1, long l) {
        return false;
    }
});

详细视图布局

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/item_detail"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.xxx.xxx.ItemDetailFragment"
    android:textIsSelectable="true"
    android:paddingBottom="16dp">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="16dp"
            android:background="@drawable/bottom_border"
            android:id="@+id/mainViewHeader">
        <TextView android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="18sp"
            android:id="@+id/titleHeader"
            android:text="Clients" />
        <TextView android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:id="@+id/titleCountHeader"
            android:text="Clients"
            />
        </RelativeLayout>

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/mainViewHeader"
        android:id="@+id/backgroundView"
        android:background="@color/colorWhite">

            <ExpandableListView
                android:id="@+id/mainExpandableDatalist"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" >
            </ExpandableListView>

        </RelativeLayout>

</RelativeLayout>

在我看来,在这类问题中,很多错误都是可能的。

  1. 您可能已经将 ScrollView 作为 listview 的父级,这根本不是必需的。
  2. ListView 或自定义 ListView 布局的根元素的高度可以是 match_parent | fill_parent,在整个屏幕上显示单个项目。

如果能把布局文件也显示出来就更好了