因此,在我键入搜索视图的过程中浏览时,尺寸不会增加。因此永远不会有机会通过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
块中的语句将永远不会执行。