兩個步驟是必要的。
首先,您必須確保您的搜索菜單項始終顯示爲一個操作,並且永遠不會進入溢出菜單。爲了實現這一目標設定的搜索菜單項的showAsAction
屬性always
:
<item
android:id="@+id/menu_search"
android:title="Search"
android:showAsAction="always"
android:actionViewClass="android.widget.SearchView" />
第二,確保行動的觀點並沒有在圖標化顯示默認情況下(即摺疊)模式。要在您的搜索視圖實例上執行此操作,請撥打setIconifiedByDefault(false)
:
@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;
}
應該這樣做。
獲得NPE在行搜索searchView.setIconifiedByDefault我已經使用此代碼SearchView searchView =(SearchView)menu.findItem(R.id.menu_search).getActionView(); searchView.setIconifiedByDefault(false); – Erum 2015-09-02 07:34:33
如果您使用的是AppCompat SearchView,請嘗試通過MenuItemCompat.getActionView(menu.findItem(R.id.menu_search))獲取SearchView – 2016-09-16 15:09:45