首页 > AppCompatActivity的ActionBar中,searchView无法正常使用

AppCompatActivity的ActionBar中,searchView无法正常使用

AppCompatActivity的ActionBar中,searchView无法正常使用

使用的主题是@style/Theme.AppCompat.Light

下面是Menu

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="com.beijingwxhl.weixinactionbardemo.MainActivity" >
    <item android:id="@+id/add" android:icon="@android:drawable/ic_menu_add"
        android:orderInCategory="100" android:title="添加"
        app:showAsAction="always"/>
    <item android:id="@+id/search" android:icon="@android:drawable/ic_menu_search"
        android:orderInCategory="1" android:title="搜索"
        app:showAsAction="always|withText" 
        android:actionViewClass="android.widget.SearchView"/>
</menu>

点击search按钮无效果

根据象山炎亚纶的回答已经,更正如下两处
app:actionViewClass="android.support.v7.widget.SearchView"
app:showAsAction="always|collapseActionView"

但是searchView还是无法正常展开


<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
   
    <item
        android:id="@+id/favorites_search"
        android:icon="@drawable/favorite_search"
        android:imeOptions="actionSearch"
        android:inputType="textCapWords"
        android:title="@string/action_search"
        app:actionViewClass="android.support.v7.widget.SearchView"
        app:showAsAction="always|collapseActionView"></item>

</menu>
 @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu_favorites, menu);
        MenuItem searchItem = menu.findItem(R.id.favorites_search);
        SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
        MenuItemCompat.setOnActionExpandListener(searchItem, new MenuItemCompat.OnActionExpandListener() {
            @Override
            public boolean onMenuItemActionExpand(MenuItem item) {
                return true;
            }

            @Override
            public boolean onMenuItemActionCollapse(MenuItem item) {
                return true;
            }
        });
        return true;
【热门文章】
【热门文章】