3

androidの開発者サイトの公式ガイドに従って、アクションバーに検索ウィジェットを実装しました。ウィジェットは折りたたまれた状態で開始します。ユーザーが検索アイコンをクリックすると、アイコンが展開され、キーボードがポップアップ表示され、ユーザーは検索できます。ユーザーがEnterキーを押すと、検索を処理して表示する新しいアクティビティが上部に起動されます。ユーザーが戻るを押して前のアクティビティ(検索前)に戻ると、ユーザーが検索を行ったばかりなので、検索ビューが自動的に折りたたまれます。どうすればよいですか?その後、ユーザーは戻るキー2を押す必要があります。1回はキーボードを閉じ、もう1回は検索ウィジェットを折りたたむ必要があります。私が試してみました

searchManager.setOnDismissListener(new OnDismissListener() {
        public void onDismiss() {
            searchView.setIconified(true);
        }
    });

これによりキーボードは折りたたまれますが、ビューを実際に折りたたんでアクションバーの元の位置に戻すには、ユーザーは戻るボタンをもう一度押す必要があります。

4

2 に答える 2

5

これは古い質問ですが、答えを探しているところです。上記とまったく同じように試しましたが、実際にはSearchViewではなくMenuItemを折りたたむ必要があります。コードスニペットは次のとおりです。-

 // I do this in onCreateOptionsMenu
 mSearchMenuItem = menu.findItem(R.id.menu_item_search);

 // Call this when you want to collapse it
 mSearchMenuItem.collapseActionView();

これが誰かを助けることを願っています。

于 2013-04-11T13:22:11.220 に答える
0

@Ryanの回答を使用できますが、古いバージョンをサポートする必要がある場合は、android.support.v4.view.MenuItemCompatを使用して行うことができます。

MenuItemCompat.collapseActionView(searchMenuItem);
于 2014-05-28T17:57:34.397 に答える