因此,在我键入搜索视图的过程中浏览时,尺寸不会增加。因此永远不会有机会通过for循环。

private void search(String newText) {
    ArrayList<GarbageInfo> myList = new ArrayList<>();
    for (GarbageInfo object : myList){
      if (object.getName().toLowerCase().contains(newText.toLowerCase())){
        myList.add(object);
      }
    }
    Adapter adapter = new Adapter(myList);
    mGarbageList.setAdapter(adapter);
  }


在此之下是searchView设置onQueryListener的位置。我不认为这可能有问题,但是我可能是错的。

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

        @Override
        public boolean onQueryTextChange(String newText) {
          search(newText);
          return true;
        }
      });


非常感谢您的帮助,如果需要更多帮助,我将尽力提供。

最佳答案

我认为您有一个逻辑错误,因为这两行没有多大意义:

ArrayList<GarbageInfo> myList = new ArrayList<>();
for (GarbageInfo object : myList){


您正在创建一个新列表,然后尝试立即遍历其元素。因此,您总是在迭代一个空列表,因此for块中的语句将永远不会执行。

07-28 03:47
查看更多