1

私は答えを見つけようとしてきましたが、おそらく私はグーグルに正しく尋ねていないので、ここに行きます:私はアンドロイドアプリに検索入力などのトップメニュー項目を持つ検索ビューを持っています.拡大鏡をクリックしてから検索語のテキストフィールドが編集可能になります。このステップをスキップして、アクティビティの onCreate() メソッドのときに、拡大鏡アイコンをクリックしなくても検索フィールドが自動的にフォーカスされるようにするにはどうすればよいですか?

これが私のコードです:

    MenuInflater inflater = new MenuInflater(SearchMedicineActivity.this);
    inflater.inflate(R.menu.search_view, menu);
    MenuItem searchItem = menu.findItem(R.id.action_search);
    searchItem.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM| MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
    mSearchView = (SearchView) searchItem.getActionView();
    mSearchView.setOnQueryTextListener(this);
    mSearchView.setIconifiedByDefault(false);
    return true;
4

2 に答える 2

2

setIconifiedByDefault(false)内部で呼び出すと、public boolean onPrepareOptionsMenu(Menu menu)必要な結果が得られます。キーボードを表示したい場合は、呼び出しrequestFocus()も試してください。

于 2013-04-19T14:00:15.390 に答える
0

http://developer.android.com/reference/android/widget/SearchView.htmlから

折りたたみ可能なメニュー項目のアクション ビューとして ActionBar で SearchView を使用する場合、デフォルトで を使用してアイコン化するように設定する必要がありますsetIconifiedByDefault(true)。これがデフォルトなので、何もする必要はありません。

検索フィールドを常に表示したい場合は、 を呼び出します setIconifiedByDefault(false)

于 2013-04-10T13:53:32.807 に答える