21

私はこのフォースアクションバーを表示する検索ビュー

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

のような作用により、検索ビューを拡大することができですが、私は3-タブ活性を有し、私はいつも私が行うことができますどのように を展開さSearchViewしたいのですがそれ?

答えて

61

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)を行うには。

+1

NSIを取得しています。searchView.setIconifiedByDefaultこのコードを使用しました。SearchView searchView =(SearchView)menu.findItem(R.id.menu_search).getActionView(); searchView.setIconifiedByDefault(false); – Erum

+0

AppCompat SearchViewを使用している場合は、MenuItemCompat.getActionView(menu.findItem(R.id.menu_search))によってSearchViewを取得してみてください。 –

関連する問題