21

我能夠用行動像這樣力作用欄中顯示的搜索視圖

<item android:id="@+id/menu_search" 
      android:title="Search" 
      android:showAsAction="never|collapseActionView" 
      android:actionViewClass="android.widget.SearchView" /> 

擴大搜索視圖但我有一個3片活動,我想搜索查看始終擴展 我怎麼可以這樣做那?

回答

61

兩個步驟是必要的。

首先,您必須確保您的搜索菜單項始終顯示爲一個操作,並且永遠不會進入溢出菜單。爲了實現這一目標設定的搜索菜單項的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; 
} 

應該這樣做。

+1

獲得NPE在行搜索searchView.setIconifiedByDefault我已經使用此代碼SearchView searchView =(SearchView)menu.findItem(R.id.menu_search).getActionView(); searchView.setIconifiedByDefault(false); – Erum 2015-09-02 07:34:33

+0

如果您使用的是AppCompat SearchView,請嘗試通過MenuItemCompat.getActionView(menu.findItem(R.id.menu_search))獲取SearchView – 2016-09-16 15:09:45

相關問題