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

相关问题