如何将String与List <object> ArrayList进行比较?

时间:2016-04-02 11:05:15

标签: android arraylist listobject

我正在使用DataSet获取&amp;设置值。现在我需要实现SearchView进行过滤。 SearchQuery传递类似&#34; abcd&#34;。但我如何比较&#34; abcd&#34;具有数据的字符串位于List DataSet中。我尝试使用contains&amp; 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();
    }
}

2 个答案:

答案 0 :(得分:1)

此处提供了完整的解决方案,可在您的应用中获取搜索操作。 如果您仍需要任何澄清,可以逐步实施搜索。请检查

How to filter a RecyclerView with a SearchView

答案 1 :(得分:1)

Recyclerview基本上是列表视图的高级版本。它具有ListView的所有功能,并且与ListView相比,它具有更大的数据集。在RecyclerView中添加搜索功能可以让用户从大量数据集中搜索/过滤关键字,而无需滚动列表,直到找到所需的实体为止。answer and sample code Stackoverflow and github