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

mas*_*.mo 5 android android-layout android-filter android-recyclerview

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

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

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

IMAGE_1 IMAGE_2 IMAGE_3

小智 2

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

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

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

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

您的适配器必须实现 Filterable。

如何使用 SearchView 过滤 RecyclerView