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

时间:2017-04-17 07:46:21

标签: android listview expandablelistview master-detail

我在基于Master/Detail模板的应用中的详细视图中遇到此问题。 我在详细视图中填充可扩展列表。它在平板电脑视图中工作正常。但在移动设备中它只显示我的第一个结果。我甚至试图删除CollapsingToolbarLayout以确保listview没有被任何其他滚动选项阻止。但我无法找到问题。

设置适配器

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 个答案:

答案 0 :(得分:1)

在这类问题中,根据我的说法,很多错误都是可能的。

  1. 您可能已将ScrollView作为listview的父级,这根本不需要。
  2. ListView或自定义ListView布局的根元素的高度可以是match_parent | fill_parent,它在整个屏幕中显示单个项目。
  3. 如果你也显示布局文件会更好。