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;