【发布时间】:2018-08-05 01:37:58
【问题描述】:
在我正在做的一个应用程序中,我有这个 Recyclerview,它可以让用户看到我的项目类中的所有数据。此外,可以根据用户在另一个名为 find_item.activity 的活动中选择的特征类型相应地过滤 Recyclerview。所以从 find_item 活动到结果活动的数据传输很好,但现在的问题在于过滤 recyclerview 部分。 对于使用此方法过滤的 Im。
public void viewResult(String hair, String color)
{
hair=hair.toLowerCase();
color=size.toLowerCase();
new_list=new ArrayList<>();
for(finditem_getItems items:arrayList)
{
if(items.getHair().toLowerCase().matches(hair) && items.getColor().toLowerCase().matches(color))
{
if(!(items.getHair().toLowerCase().contains(hair) && !(items.getColor().toLowerCase().contains(color)))){
results.setText("Search not found");
}
else
{
new_list.add(items);
}
}
else if(items.getHair().toLowerCase().matches(hair))
{
new_list.add(items);
}
}
arrayList.clear();
adapter.filterSearch(new_list);
}
这就是我在适配器类中用来过滤数组列表的方法
public void filterSearch(ArrayList<findpet_getItems> searchLlist){
arrayList=new ArrayList<>();
arrayList.clear();
arrayList.addAll(searchLlist);
notifyDataSetChanged();
}
在第一种方法中,我使用来自其他活动的数据作为参数并使用它来过滤 recyclerview,但在我的过滤器方法的实现中似乎有问题。
现在的问题是,如果搜索项不存在,它不会触发错误语句,如果搜索项确实存在但两个参数不匹配,它只会显示所有匹配的数据给定搜索选择的数据。
谁能告诉我我在过滤方面做错了什么。
【问题讨论】:
标签: java android android-recyclerview filtering