onQueryTextChange のように、リサイクラーアダプターの検索を以下のように実行しようとしています。検索フィルターリサイクルアダプター
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);
}
}
そして、私はsetFilterを使用してアダプタをフィルタリングします。
adapterRV.setFilter(search_list);
これは私がフィルタ/検索をクリックすると検索は、onQueryTextChange うまく動作しますが、アダプターをフィルタリングし、RecyclerViewに表示した後、私のアダプタでのSetFilter機能
public void setFilter(List<HymnDataModel> search_list) {
mHymnsList = new ArrayList<>();
mHymnsList.addAll(search_list);
//notify to reload
notifyDataSetChanged();
}
です私のrecyclerviewのアイテム、それはその特定のアイテムを開くのではなく、フィルタリングされたリストにない別のアイテムを開きます。
ここにあなたの全体のアダプタのコードのものを追加してみあなたの
Arraylist
でフィルタ項目を追加する前に。 – Radhey