2つのステップが必要です。
まず、検索メニュー項目が常にアクションとして表示され、オーバーフローメニューに移動しないようにする必要があります。これはalways
に検索メニュー項目のshowAsAction
属性を設定達成するために:
<item
android:id="@+id/menu_search"
android:title="Search"
android:showAsAction="always"
android:actionViewClass="android.widget.SearchView" />
第二に、アクションのビューは、デフォルトではアイコン化(すなわち、崩壊)モードで示されていないことを確認してください。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.my_activity, menu);
MenuItem searchViewItem = menu.findItem(R.id.menu_search);
SearchView searchView = (SearchView) searchViewItem.getActionView();
[...]
searchView.setIconifiedByDefault(false);
return true;
}
それを行う必要があります:あなたの検索ビューのインスタンス上でこのコールsetIconifiedByDefault(false)
を行うには。
NSIを取得しています。searchView.setIconifiedByDefaultこのコードを使用しました。SearchView searchView =(SearchView)menu.findItem(R.id.menu_search).getActionView(); searchView.setIconifiedByDefault(false); – Erum
AppCompat SearchViewを使用している場合は、MenuItemCompat.getActionView(menu.findItem(R.id.menu_search))によってSearchViewを取得してみてください。 –