我尝试使用过滤器实现recyclerview。但是我的recyclerview列表在清除过滤器后无法恢复..仅显示空白数据 这是我的代码
public IkanAdapter(Context context,List<Ikan> ikanList,ContactsAdapterListener listener) {
this.context = context;
this.ikanList = ikanList;
this.listener = listener;
this.ikanListFiltered = ikanList;
}
public Filter getFilter() {
return new Filter() {
@Override
protected FilterResults performFiltering(CharSequence charSequence) {
String charString = charSequence.toString();
if (charString.isEmpty()) {
ikanListFiltered = ikanList;
} else {
List<Ikan> filteredList = new ArrayList<>();
for (Ikan row : ikanList) {
if (row.getTxnama().toLowerCase().contains(charString.toLowerCase())) {
filteredList.add(row);
}
}
ikanListFiltered = filteredList;
}
FilterResults filterResults = new FilterResults();
filterResults.values = ikanListFiltered;
return filterResults;
}
@Override
protected void publishResults(CharSequence charSequence,FilterResults filterResults) {
ikanList.clear();
ikanList.addAll((List<Ikan>) filterResults.values);
ikanListFiltered = (ArrayList<Ikan>) filterResults.values;
notifyDataSetChanged();
}
};
}
请帮助...我很困惑