当前位置: 首页 > 知识库问答 >
问题:

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

商皓
2023-03-14

目前,我已经开发了一个活动来使用带有搜索功能的recyclerView显示数据列表(如image_1所示)。

我想在工具栏上添加过滤选项,类似于Youtube应用程序上的过滤器(参见image2)。有谁能给我线索轻松实施吗?用于UI设计和业务逻辑。

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

共有1个答案

谷梁子昂
2023-03-14

因此,您需要创建一个options菜单,以自定义布局启动DialogFragment,并获得用户在对话框中筛选的标记,然后您可以使用它们筛选RecyclerView。

您的适配器应该实现可过滤接口!!

您可以通过以下说明进行操作:

  1. 创建一个OptionsMenu来启动您的DialogFragment。创建
  2. DialogInterface.onClickListener到对话框中的搜索按钮
  3. 通过标记调用适配器。创建
  4. 接收标记的筛选器(android.widget.filter),然后您可以筛选数据并通知!

适配器必须实现Filterable。

如何用SearchView筛选RecyclerView

 类似资料:
  • 我的应用程序有几种不同的口味,适用于几个市场的应用内计费系统。 问题是android库能有产品风味吗? 如果是的话,我如何在应用程序的不同口味中包含不同的口味? 我找了很多,但我没有找到任何关于这个场景的东西。我在http://tools.android.com/tech-docs/new-build-system/user-guide中找到的唯一接近的内容是: 我改变了配置到不同的东西,但它没有

  • 问题内容: 当用户访问列表中可见的项目时,如何在底部显示进度栏。 我编写了一个代码,其中使用Web服务获取数据,现在我想填充部分记录,因为我的JSON中大约有 630条记录 。 这是我用来从JSON获取数据并填充到RecyclerView中的整个代码。 这是我的JSON的外观,但是真实的JSON包含600多个记录: 有人可以指导我在我的代码中进行更改的地方吗? 每当用户使用进度条滚动到底部时,我想

  • 下面是我正在研究的片段:

  • 本文向大家介绍Java基于ReadWriteLock实现锁的应用,包括了Java基于ReadWriteLock实现锁的应用的使用技巧和注意事项,需要的朋友参考一下 所有 ReadWriteLock 实现都必须保证 writeLock 操作的内存同步效果也要保持与相关 readLock 的联系。也就是说,成功获取读锁的线程会看到写入锁之前版本所做的所有更新。 与互斥锁相比,读-写锁允许对共享数据进行

  • 问题内容: 我必须通过一个映射过滤一个对象集合,该映射包含对象字段名称和字段值的键值对。我试图通过stream()。filter()应用所有过滤器。 对象实际上是JSON,因此Map保留了其变量的名称以及它们必须包含的值才能被接受,但是出于简单性的原因,并且由于它与问题无关,因此我编写了一个简单的Testclass来模拟行为: 到目前为止我尝试过的是: 我尝试将Map的forEach放在首位,并将

  • 我必须通过一个映射过滤对象集合,该映射包含对象字段名和字段值的键值对。我正在尝试按stream()应用所有过滤器。过滤器()。 对象实际上是JSON,因此映射包含其变量的名称以及它们必须包含的值,以便被接受,但出于简单的原因,并且由于与问题无关,我编写了一个简单的Testclass来模拟行为: 到目前为止我所尝试的: 我试着将地图的每个部分放在第一位,将集合的流放在第一位,但这两种解决方案都没有按