私は現在のアクティビティで検索したい(私はappbarにsearchview を持っている)。だから、その活動は再開されますか?
(あなたはもちろんの検索権利を実装する場合)第
私はRecyclerViewの代わりに、リストビューを使用できますか?私はListViewが であり、RecyclerViewのために推奨されないと考えました。
はい、あなたはRecyclerView
で検索を実行するために何をすべきか、あなたがこのようなあなたのデータクラス何かのList
のパラメータを使用して、アダプタクラスのパブリックメソッドを作成する必要があります。基本的RecyclerView
を使用することができます:
public void setFilter(ArrayList<Items> ItemList){
Items = new ArrayList<>();
Items.addAll(ItemList);
notifyDataSetChanged();
//Items will be your custom data class
}
あなたが
SearchView.OnQueryTextListener
インターフェイスを実装した後に検索を実装したいあなた
Activity
で次に
とオーバーライドメソッドonQueryTextSubmit
とonQueryTextChange
onQueryTextChange
にあなたはこのような何かを行うことができます。
@Override
public boolean onQueryTextChange(String newText) {
newText = newText.toLowerCase();
ArrayList<Items> ItemArrayList = new ArrayList<>();
for(Items Item : Items) //Items your data class containg data provided to adapter
{
String name = Item.getTitle().toLowerCase(); // getTitle or getName dependes what you have in Item class
if(name.contains(newText))
ItemArrayList.add(Item);
}
adapter.setFilter(ItemArrayList); // adapter will be instance of adapter class
return true;
}
これはOKですが、どのように私は提案や音声検索を追加することができますか? – user9144
アダプタで新しい内部クラスを作成し、 'Filter'を拡張して音声検索を行うと、音声を文字列に変換して' onQueryTextChange'を変換して、変換された単語をパラメータとして提供しようとします。 – Yupi