搜索后显示多个

时间:2017-06-14 12:48:12

标签: android json android-recyclerview android-cardview

我实现了搜索回收站视图的代码,但是当我写了多个属于同一个cardview的单词时,我会多次显示该卡。我只需要显示一次,如果它们与我的大多数单词匹配,则需要首先显示在列表中。

搜索部分

if (charString.contains(",")) {
  String searchChar[] = charString.split(",");
  for (int i = 0; i < searchChar.length; i++) {

    if (androidVersion.getApi().toLowerCase().contains(searchChar[i]) || androidVersion
        .getName()
        .toLowerCase().contains(searchChar[i]) || androidVersion.getVer().toLowerCase()
        .contains(searchChar[i])) {

      filteredList.add(androidVersion);
    }
  }
} else {
  if (androidVersion.getApi().toLowerCase().contains(charString) || androidVersion.getName()
      .toLowerCase().contains(charString) || androidVersion.getVer().toLowerCase()
      .contains(charString)) {

    filteredList.add(androidVersion);
  }
}

example

1 个答案:

答案 0 :(得分:0)

你做什么?让它查找。

searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener(){             @覆盖             public boolean onQueryTextSubmit(String query)             {return false; }

        @Override
        public boolean onQueryTextChange(String newText) {


            newText = newText.toLowerCase();

            final ArrayList<DictObjectModel> filteredList = new ArrayList<DictObjectModel>();

            for (int i = 0; i < wordcombimelist.size(); i++) {

                final String text = wordcombimelist.get(i).toLowerCase();
                if (text.contains(newText)) {

                    filteredList.add(new DictObjectModel(wordcombimelist.get(i),meancombimelist.get(i)));
                }
            }
            adapter = new CustomAdapter(filteredList);
            recyclerView.setAdapter(adapter);


            return true;
        }
    });