Ich versuche eine Suche auf meinem Recycler-Adapter durchzuführen, wenn onQueryTextChange wie unten gezeigt wird.Suchfilter Recycler Adapter
newText = newText.toLowerCase();
List<HymnDataModel> search_list = new ArrayList<>();
for(HymnDataModel hymnDataModel : hymnDataList){
String hymn_title = hymnDataModel.getHymnTitle().toLowerCase();
String hymn_subTitle = hymnDataModel.getHymnSubTitle().toLowerCase();
if (hymn_title.contains(newText) || hymn_subTitle.contains(newText)){
search_list.add(hymnDataModel);
}
}
Und ich Filter den Adapter mit dem setFilter.
adapterRV.setFilter(search_list);
Dies ist die setFilter Funktion in meinem Adapter
public void setFilter(List<HymnDataModel> search_list) {
mHymnsList = new ArrayList<>();
mHymnsList.addAll(search_list);
//notify to reload
notifyDataSetChanged();
}
Die Suche funktioniert gut, onQueryTextChange , aber nach dem Adapter Filterung und auf dem RecyclerView anzeigt, wenn ich auf dem gefilterten klicken/gesucht Element in meiner Recycleransicht öffnet es nicht diesen bestimmten Eintrag, sondern öffnet einen anderen Eintrag, der nicht in der gefilterten Liste enthalten ist.
hier Ihre gesamte Adapter Code Sachen hinzufügen. – Radhey