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

查看:149
本文介绍了android - 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;

这篇关于android - AppCompatActivity的ActionBar中,searchView无法正常使用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆