support design SearchView onCloseListener 不调用解决方案
2016-04-05 18:27
316 查看
在开始之前 首先要说下我调用searchView的配置;
我是把searchView放在了toolbar 上,
menu文件如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201604/dac65190096ec553791e743527d88222)
seachView点击状态
![](https://oscdn.geek-share.com/Uploads/Images/Content/201604/9eae1619059bbee158ed05b18ceaa119)
点击searchView图标展开后的状态;注意这是带有CollapseIcon 因为我在menu里的
app:showAsAction属性里加了 collapseActionView
问题就在这里了,如果不加这个属性,那么onCloseListener就能调用;
为什么呢,通过查看searview源码发现onCloseListener绑定是searchView上的一个控件的listener,并不是监听
它是否关闭;绑定的就是那个小叉叉控件;而当我设置了collapseActionView后这个小叉叉的点击事件被改写为
清除searchView的字符
到这里就很好解释了为什么没有调用onCloseListener了
那么要怎么监听searchView是否关闭呢,
我的做法是:
search.setOnQueryTextFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
Toast.makeText(getApplicationContext(), “hasFocus: ” + hasFocus, Toast.LENGTH_SHORT).show();
用这个方法监听searchView是否关闭打开
到此很清楚了
我是把searchView放在了toolbar 上,
menu文件如下:
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/search" android:icon="@mipmap/ic_search" android:title="Search" app:actionViewClass="android.support.v7.widget.SearchView" app:showAsAction="collapseActionView|always" /> </menu>
seachView点击状态
点击searchView图标展开后的状态;注意这是带有CollapseIcon 因为我在menu里的
app:showAsAction属性里加了 collapseActionView
问题就在这里了,如果不加这个属性,那么onCloseListener就能调用;
为什么呢,通过查看searview源码发现onCloseListener绑定是searchView上的一个控件的listener,并不是监听
它是否关闭;绑定的就是那个小叉叉控件;而当我设置了collapseActionView后这个小叉叉的点击事件被改写为
清除searchView的字符
到这里就很好解释了为什么没有调用onCloseListener了
那么要怎么监听searchView是否关闭呢,
我的做法是:
search.setOnQueryTextFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
Toast.makeText(getApplicationContext(), “hasFocus: ” + hasFocus, Toast.LENGTH_SHORT).show();
} });
用这个方法监听searchView是否关闭打开
到此很清楚了
相关文章推荐
- 使用IHttpAsyncHandler实现带进度条的文件上传
- 2016-4-5 博问问题、答题和查看收获
- 溱洧&风雨
- C++虚析构函数的作用
- linux开关机啪啪响(pop noise)的解决方案
- cocoapods 安装
- git使用
- effective c++ 条款
- 虚幻引擎CPP函数传入数组有时候编译不过的bug。
- 黎明之前
- solr入门
- Qt学习笔记0405
- 构建之法第四章读后感
- 《构建之法》第4章读后感
- 139. Word Break
- Jury Compromise---poj1015(动态规划,dp,)
- 【MongoDB数据库】怎样安装、配置MongoDB
- 虚幻4,BP写了一个简单的三线跑酷工程
- 虚幻4,BP写了一个简单的三线跑酷工程
- BRISK算法在OpenCV3.0中的使用