如何在基于RecyclerView的Android应用程序上实现多重过滤?

时间:2016-08-22 14:41:24

标签: android android-layout android-recyclerview android-filter

目前,我已经开发了一个Activity来显示使用RecyclerView搜索功能的数据列表(如图1所示)。

我想在工具栏中添加过滤选项,类似于Youtube应用中的过滤器(请参阅image_2)。任何人都可以给我提供易于实现的线索吗? UI设计和业务逻辑。

知道如何实现过滤器对话框窗口(见image_3)?我应该只使用AlertDialog还是有其他更好的选择?

image_1 image_2 image_3

1 个答案:

答案 0 :(得分:1)

因此,您需要创建一个选项菜单,该菜单启动带有自定义布局的DialogFragment,并在对话框中获取用户过滤的标签,然后您可以使用它们来过滤您的Recyclerview。

您的适配器应该实现Filterable接口!!

您可以按照以下说明进行操作:

  1. 创建一个启动DialogFragment的OptionsMenu。创建
  2. DialogInterface.OnClickListener到对话框中的搜索按钮
  3. 通过您的代码调用您的adapter.filter。创建
  4. 过滤器(android.widget.Filter)接收你的标签然后你 可以过滤数据并通知!
  5. 您的适配器必须实现Filterable。

    How to filter a RecyclerView with a SearchView