如何一起滚动两个listview

时间:2015-01-14 08:24:10

标签: android android-listview

我还没有找到适合此问题的解决方案。我正在实现片段内的列表。我在ListView内有两个LinearLayout

所以说我在列表1中有五个项目,在列表2中有三个。因此,当用户滚动时,他应该获得一种体验,就像滚动一个列表一样。

截至目前,List 1和List 2都有自己独立的滚动行为。我的代码在

之下

List.xml

<LinearLayout 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"
    android:background="@color/background_gray"
    tools:context=".fragment.MallListFragment"
    android:orientation="vertical">

    <ListView
        android:id="@+id/list1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingBottom="2dp"
        android:clipToPadding="false">
    </ListView>

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

</LinearLayout>

2 个答案:

答案 0 :(得分:3)

使用CWAC MergeAdapter - https://github.com/commonsguy/cwac-merge

的最简单方法

该库使您可以将两个不同的适配器添加到一个 - MergeAdapter,并将此MergeAdapter添加到一个Listview。

MergeAdapter mergeAdapter = new MergeAdapter();
mergeAdapter.addAdapter(yourFirstAdapter);
mergeAdapter.addAdapter(yourSecondAdapter);
mYourListView.setAdapter(mergeAdapter);

答案 1 :(得分:0)

您可以考虑使用带有节标题的单个ListView。基本上,您创建一个自定义适配器,绑定两个(或更多)适配器并在适当时返回标题视图,如here所述。