在android中添加可扩展列表视图和普通列表视图

时间:2013-06-19 06:35:18

标签: android expandablelistview

当我尝试显示可扩展列表视图和仅显示可扩展列表视图的普通列表时,我想在此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>

7 个答案:

答案 0 :(得分:2)

恐怕你不能同时使用这两个列表......我看到它的方式,你有两个选择:

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

答案 1 :(得分: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>

答案 2 :(得分:1)

你不能放置2个这样的列表视图,因为当你只滚动时,第一个列表视图将被滚动.try将layout_height expandablelistview更改为特定的下降可能有所帮助。

答案 3 :(得分: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>

答案 4 :(得分:0)

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

答案 5 :(得分:0)

我使用this教程进行了可扩展列表视图,这可能会对您有所帮助。祝你好运。

答案 6 :(得分:0)

我认为你应该分配
android:layout_width="0px"用于两种观看并分配 android:layout_weight也适用于列表视图。 如果layout_weight设置为layout_width

0px将无法正常运行