我正在使用DataSet获取&设置值。现在我需要实现SearchView进行过滤。 SearchQuery传递类似" abcd"。但我如何比较" abcd"具有数据的字符串位于List DataSet中。我尝试使用contains& amp;等于。但它没有用。
private void SEARCH_QUERY(String strSearch) {
String NEWTEXT = strSearch.trim();
if (RestaurantDataSet.equals(NEWTEXT)) {
RestaurantDataSet = new ArrayList<>();
for (int i = 0; i < RestaurantDataSet.size(); i++) {
String PRODUCTID = String.valueOf(RestaurantDataSet.get(i).getIG_PRODUCTID());
String PRODUCTNAME = RestaurantDataSet.get(i).getIG_PRODUCTNAME();
String CATEGORY_NAME = RestaurantDataSet.get(i).getIG_CATEGORYNAME();
String CAT_ID = RestaurantDataSet.get(i).getIG_CATEGORY_ID();
String IMG_ID = String.valueOf(RestaurantDataSet.get(i).getIG_IMAGEURL());
int LIKE = RestaurantDataSet.get(i).getIG_LIKECOUNT();
String PRICE = RestaurantDataSet.get(i).getIG_SALES_PRICE();
String VOUCHER_ID = RestaurantDataSet.get(i).getIG_VOUCHER_ID();
Restaurant_Beam item = new Restaurant_Beam();
item.setIG_LIKECOUNT(LIKE);
item.setIG_PRODUCTID(PRODUCTID);
item.setIG_SALES_PRICE(PRICE);
item.setIG_VOUCHER_ID(VOUCHER_ID);
item.setIG_CATEGORY_ID(CAT_ID);
item.setIG_IMAGEURL(IMG_ID);
item.setIG_PRODUCTNAME(PRODUCTNAME);
item.setIG_CATEGORYNAME(CATEGORY_NAME);
RestaurantDataSet.add(item);
}
adapter = new CardAdapter(RestaurantDataSet, context);
recyclerView.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
}
答案 0 :(得分:1)
此处提供了完整的解决方案,可在您的应用中获取搜索操作。 如果您仍需要任何澄清,可以逐步实施搜索。请检查
答案 1 :(得分:1)
Recyclerview基本上是列表视图的高级版本。它具有ListView的所有功能,并且与ListView相比,它具有更大的数据集。在RecyclerView中添加搜索功能可以让用户从大量数据集中搜索/过滤关键字,而无需滚动列表,直到找到所需的实体为止。answer and sample code Stackoverflow and github