我有一個搜索視圖,可以過濾回收器視圖項目;它正確地過濾項目,但當我關閉搜索查看我的適配器notifyDataSetChanged
不會工作,例如,如果我將新項目添加到回收視圖,直到我關閉該應用程序並再次打開它。這是我過濾項目的代碼。adapter.notifyDataSetChanged在使用搜索視圖搜索後不起作用
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
if (TextUtils.isEmpty(newText)){
adapter.resetList(userData.GetAllWords(user.getId()));
} else {
final ArrayList<Word> filteredModelList = filter(wordlist, newText);
adapter.setfilter(filteredModelList);
}
return false;
}
private ArrayList<Word> filter(ArrayList<Word> wordlistt, String query) {
query = query.toLowerCase();
final ArrayList<Word> filteredModelList = new ArrayList<>();
for (Word myword : wordlistt) {
if (myword.getWord().contains(query) || myword.getTranslation().contains(query)) {
filteredModelList.add(myword);
}
}
return filteredModelList;
}
這是我在適配器代碼
public void setfilter(ArrayList<Word> filteredwordlist) {
wordlist = new ArrayList<>();
wordlist.addAll(filteredwordlist);
notifyDataSetChanged();
}
public void resetList(ArrayList<Word> newWordlist){
wordlist=new ArrayList<>();
wordlist.addAll(newWordlist);
notifyDataSetChanged();
}
我甚至重置我的適配器時,搜索視圖關閉喜歡在我的回收站鑑於此
@Override
public boolean onMenuItemActionCollapse(MenuItem menuItem) {
adapter=new WordAdapter(MainActivity.this,userData.GetAllWords(user.getId()));
recyclerView.setAdapter(adapter);
return true;
}
,但仍然沒有改變
TENX人的答案我想現在recyclerview是起了變化,但如果我增加新的項目以前所有的項目將增加! –
哦坦的哥哥我刪除searchView.setOnCloseListener,現在它的工作..我愛你:d和SRY基因,如果我的reputution在15 –