为任务应用程序创建排序功能

问题描述 投票:0回答:1

所以基本上我正在开发一个 Android (Java) 的任务应用程序。我想在我的主活动中创建一个排序功能,其中有 4 个按钮

All
High_Priority
Medium_Priority
Low_Priority
,分别具有整数值 1,2 和 3。现在我的应用程序以以下结构将数据存储在 Firebase 实时数据库上

Firebase 结构:

<USER_ID (UID)>": {
      "<Task_id>": {
        "checked": false,
        "colorCode": "#090808",
        "date": "28 Apr 2024",
        "description": "",
        "Task_id": "-NwZF-mvOfZZOOXi_3NB",
        "pointsAwarded": false,
        "priority": 1,
        "task": "High task",
        "time": "12:00 am",
      }  

现在,我使用

TaskCardAdapter
类从
Model
中的 firebase 数据库获取优先级整数,并根据该整数设置
task_Priority
文本视图。现在,当用户单击“高”、“低”或“中”按钮时,我想根据主活动中
TaskRecyclerView
中的整数对任务进行排序。当用户单击
High_Priority
按钮时,我只想显示那些优先级为 1 的任务,中和低也是如此。

java android
1个回答
0
投票

我会在 MainActivity 上创建 4 个列表,每个列表都有不同的选项,全部、高、中、低。您可以在从 firebase 获取所有内容后创建它们,然后过滤并创建其他内容。

然后,当您单击过滤按钮时,您必须更新回收器视图,因为您已通知适配器数据已更改。

// clear old list
data.clear();

// make data equals to the list that you want
data.addAll(mediumList);

// notify adapter
adapter.notifyDataSetChanged(); 

适配器具有对数据的引用,因此重要的是不要将数据设置到新对象。相反,从数据中清除旧项目,然后添加新项目。

这就是我要做的,如果你想更好地了解更新回收器的项目,你可以检查这个如何更新RecyclerView适配器数据

© www.soinside.com 2019 - 2024. All rights reserved.