【发布时间】:2019-02-11 04:28:51
【问题描述】:
我需要在我的项目中使用多重过滤。例如,我有一个任务页面。我想在这个页面上过滤。优先级、责任人、开始日期、结束日期等。我需要使用标准进行多重过滤,例如。什么是正确的方法?例如,在 1 月 10 日到 1 月 12 日之间,我想列出低优先级和中等优先级的任务。
【问题讨论】:
标签: android filter android-recyclerview
我需要在我的项目中使用多重过滤。例如,我有一个任务页面。我想在这个页面上过滤。优先级、责任人、开始日期、结束日期等。我需要使用标准进行多重过滤,例如。什么是正确的方法?例如,在 1 月 10 日到 1 月 12 日之间,我想列出低优先级和中等优先级的任务。
【问题讨论】:
标签: android filter android-recyclerview
一段时间以来遇到同样的问题,我解决了,你可以使用这个功能添加多个过滤器。
public List<Tasks> multipleFilter(String PriorityFilter,String startDateFilter,String endDateFilter,List<Tasks> listAllTasks)
{
List<Tasks> listTasksAfterFiltering = new ArrayList<>();
for(Tasks task_obj : listAllTasks)
{
String PriorityTask = task_obj.getPriority();
String startDateTask = task_obj.getStartDate();
String endDateTask = task_obj.getEndDate();
if(PriorityFilter.equals(PriorityTask) || PriorityFilter.isEmpty())
if(startDateFilter.equals(startDateTask) || startDateFilter.isEmpty())
if(endDateFilter.equals(endDateTask) || endDateFilter.isEmpty())
if(!PriorityFilter.isEmpty() || !startDateFilter.isEmpty() || !endDateFilter.isEmpty()){
listTasksAfterFiltering.add(task_obj);
}
}
return listTasksAfterFiltering;
}
首先,您必须从列表中获取所有项目并检索要对其进行过滤的属性,然后检查每个字段是否为空,如果不为空,则将其与每个字段的相同属性进行比较项目,最后检查是否是任何字段中的插入值。
祝你好运!
【讨论】: