当直接放入活动的根RelativeLayout时,可扩展Listview工作正常。但我需要将它放在由Scrollview包装的子相对布局中。但是当我们这样做时,只有组标题显示在可扩展列表中没有子项目。
<RelativeLayout 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.computan.carcal.CourtesyCarDetailActivity">
<include
android:id="@+id/app_toolbar_view"
layout="@layout/apptoolbar"></include>
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/app_toolbar_view"
>
**<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical"
>**
<android.support.v7.widget.CardView
android:id="@+id/cardView"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/courtesyVehicleExpandableListView"
android:layout_gravity="top"
android:padding="20dp"
card_view:cardBackgroundColor="@color/PrimaryBackgroundColor"
card_view:cardCornerRadius="4dp"
card_view:cardElevation="4dp"
card_view:cardUseCompatPadding="true"
card_view:contentPadding="10dp"
>
<!-- cardview code omitted for clarity -->
</android.support.v7.widget.CardView>
**<ExpandableListView
android:id="@+id/courtesyVehicleExpandableListView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/app_toolbar_view"
android:layout_marginTop="8dp"
android:divider="#A4C739"
android:dividerHeight="0.5dp"
android:indicatorLeft="?android:attr/expandableListPreferredItemIndicatorLeft"/>**
</RelativeLayout>
</ScrollView>
</RelativeLayout>
为了简单起见,我不发布适配器和数据提取代码。上面的代码确实显示了组信息,但没有显示组中的任何项目。如果我将可扩展列表视图直接放在根相对布局中。它工作正常但我需要滚动条。这是工作代码......
<RelativeLayout 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.computan.carcal.CourtesyCarDetailActivity">
<include
android:id="@+id/app_toolbar_view"
layout="@layout/apptoolbar"></include>
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/app_toolbar_view"
>
**<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical"
>**
<android.support.v7.widget.CardView
android:id="@+id/cardView"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/courtesyVehicleExpandableListView"
android:layout_gravity="top"
android:padding="20dp"
card_view:cardBackgroundColor="@color/PrimaryBackgroundColor"
card_view:cardCornerRadius="4dp"
card_view:cardElevation="4dp"
card_view:cardUseCompatPadding="true"
card_view:contentPadding="10dp"
>
</android.support.v7.widget.CardView>
</RelativeLayout>
</ScrollView>
**<ExpandableListView
android:id="@+id/courtesyVehicleExpandableListView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/app_toolbar_view"
android:layout_marginTop="8dp"
android:divider="#A4C739"
android:dividerHeight="0.5dp"
android:indicatorLeft="?android:attr/expandableListPreferredItemIndicatorLeft"/>**
</RelativeLayout>
正如您在滚动视图和内部相对布局之外看到的那样,代码工作正常,并在其下显示组和项目。
这是Expandable Listview的默认行为,还是任何人都可以指导我在子相对布局中使用listview时如何获取组项?