web-dev-qa-db-ja.com

フラグメントを使用してツールバーにSearchViewを実装する

現在のシナリオ

私のアプリのホームページはナビゲーションドロワーで構成されているため、ビューをフラグメントとしてロードしています。ツールバーにも検索アイコンがあります。 menu.xmlに実装しました。次のステップでは、この質問の回答に従うことで、検索アイコンにSearchViewを実装しました ツールバーでの検索の実装

これは、検索ビューが示すように正常に機能しており、閉じることもできます。

[〜#〜]問題[〜#〜]

検索ビューに検索クエリを実装できますが、続行方法がわかりません。問題は、onCreateOptionsMenuActivityにあり、検索ビューのすべてのコードがActivityにあることです。私が理解していないのは、検索する必要があるデータがFragmentクラスにロードされているActivityにあることです。別のWebサービスにアクセスして検索結果を取得しますが、Fragmentの検索データを再び膨らませるにはどうすればよいでしょうか。この状況でどう対処すればよいか理解できません。

9
Vivek Mishra

これをあなたの断片に入れて

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState); 
    setHasOptionsMenu(true);
}

そして、次のようにSearchViewを取得できます

@Override
public void onPrepareOptionsMenu(Menu menu) {
    MenuItem mSearchMenuItem = menu.findItem(R.id.mi_search);
    SearchView searchView = (SearchView) mSearchMenuItem.getActionView();
}
10
Malek Hijazi