1

当我尝试同时显示可扩展列表视图和仅显示可扩展列表视图的普通列表时,我想在此 XML 布局中添加可扩展列表视图和普通列表视图。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    tools:context=".MainActivity"
    android:orientation="vertical" >

    <ExpandableListView
        android:id="@+id/expandableListView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1" >
    </ExpandableListView>



    <ListView
        android:id="@+id/list_evevnt"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
  />

</LinearLayout>
4

7 回答 7

2

恐怕你不能同时使用这两个列表......在我看来,你有两个选择:

  1. 您可以通过扩展适配器类在第一个可扩展列表视图中添加第二个列表视图项:对于此可扩展项中属于第二个列表视图的每个项目,您必须将子项计数设置为零,这样您就没有任何可扩展的内容。在 ExpandableListAdapter#getGroupView() 您可以从第二个列表视图适配器 getView 返回视图
  2. Mark Murphy(又名 CommonsWare)创建了一个项目,CWAC MergeAdapter,它允许在单个 UI 组件中合并不同的列表视图和视图。由于 ExpandableListView 是一个 ListView,那么理论上它应该可以工作。我成功使用了这个项目,但没有 ExpandableListViews...如果它适用于这些,请告诉我

我希望它有帮助!

于 2013-06-19T06:49:24.467 回答
1

用这个

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    tools:context=".MainActivity"
    android:orientation="vertical"
    android:weigthSum="1" >
    <LinearLayout android layout_weight=0.5
                  android:layout_height="0dp"
                  android:layout_width="fill_parent">
    <ExpandableListView
        android:id="@+id/expandableListView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1" >
    </ExpandableListView>
    </LinearLayout>
    <LinearLayout android layout_weight=0.5
                  android:layout_height="0dp"
                  android:layout_width="fill_parent"> 

    <ListView
        android:id="@+id/list_evevnt"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
  />
   <LinearLayout>
</LinearLayout>
于 2013-06-19T06:49:49.177 回答
1

您不能像这样放置 2 个列表视图,因为当您滚动时,只会滚动第一个列表视图。尝试将您layout_height的 of更改expandablelistview为特定的下降可能会有所帮助。

于 2013-06-19T06:51:35.287 回答
1

尝试这个......

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    androidrientation="vertical" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
       >

        <ExpandableListView
            android:id="@+id/expandableListView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
               >
        </ExpandableListView>
    </LinearLayout>

    <ListView
        android:id="@+id/list_evevnt"
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        />

</LinearLayout>
于 2013-06-19T07:03:41.447 回答
0

尝试将 android:layout_weight 也分配给 ListView 元素。我认为您必须拥有一个,因为您为 ExpandableListView 设置了一个。

于 2013-06-19T06:44:57.143 回答
0

我将教程用于可扩展的列表视图,可能对您有所帮助。祝你好运。

于 2013-06-19T06:48:18.267 回答
0

我认为您应该
android:layout_width="0px"为两个视图分配并
android:layout_weight为列表视图分配。 不设置layout_weight将无法正常工作layout_width0px

于 2013-06-19T06:51:22.160 回答