android中的多类别过滤选项

时间:2016-05-03 04:18:54

标签: android android-recyclerview android-filter

我正在构建一个Android应用程序。我需要实现像Flipkart Filter菜单样式的选项卡列表。我在这样的LinerLayout中水平地有两个recyler视图(带有多选选项)。我的第一个Recyclerview将有列表类别和每个类别的onclick第二个Recyclerview将填充多选。我能够为每个适配器使用两个不同的适配器。

再次在第二个Recyclerview中选择几个项目后,我将在第一个recyclerview中再选择一个类别,然后seconnd recylcerview将更新新数据。但我怎样才能保留以前的选择?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:background="@color/base_background"
android:layout_height="match_parent">
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/app"
    android:text="Apply Filter"
    android:layout_margin="10dp"
    android:textSize="20sp"
    android:layout_gravity="center_horizontal"/>
<LinearLayout
    android:id="@+id/LinearLayout02"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:layout_alignParentBottom="true">
    <Button
        android:id="@+id/Button02"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1" android:text="Clear Filters">
    </Button>
    <Button
        android:id="@+id/Button03"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Apply">
    </Button>
</LinearLayout>
<LinearLayout
    android:layout_width="fill_parent"
    android:orientation="horizontal"
    android:layout_height="fill_parent">
    <android.support.v7.widget.RecyclerView
        android:id="@+id/View01"
        android:layout_width="0dp"
        android:clipToPadding="false"
        android:layout_height="fill_parent"
        android:layout_marginRight="5dp"
        android:layout_weight="0.4"
         />
    <android.support.v7.widget.RecyclerView
        android:id="@+id/View02"
        android:layout_width="0dp"
        android:clipToPadding="false"
        android:scrollbars="vertical"
        android:layout_height="fill_parent"
        android:layout_marginRight="5dp"
        android:layout_weight="0.6"
         />
</LinearLayout>

1 个答案:

答案 0 :(得分:0)

我认为您应该有一个存储所选项目的数据结构,然后在填充第二个Recyclerview时检查您插入的项目是否在数据结构中,如果它在数据结构中使用recyclerViewAdapter.setSelectedItem(recyclerViewAdapter.getItemCount() - 1)以编程方式选择项目。