zoukankan      html  css  js  c++  java
  • SearchView监听关闭正确方案

     SearchView往往需要在关闭的时候清除筛选的数据后加载全部数据,但是oncloseListener在高版本的andorid是不起作用的 ,正确的做法应该是取得searchview中那个close的按钮 即末尾的x按钮,监听点击事件即可

     //监听关闭按钮点击事件
            final ImageView mCloseButton = mSearchView.findViewById(android.support.v7.appcompat.R.id.search_close_btn);
            if (mCloseButton.isClickable()) {
                mCloseButton.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        //清除搜索框并加载默认数据
                        mSearchView.clearFocus();
                        mSearchView.onActionViewCollapsed();
                        datas.clear();
                        loadDatas(app.getDb());
    
                    }
                });
            }
    

      其中clearFocus()和 onActionViewCollapsed()调用是为了让SearchView 关闭 ,如果反复搜索关闭出现输出法中没有搜索按钮的情况,可以在searchView获得焦点的时候调用mSearchView.onActionViewExpanded();即可正常操作

    其余的比如通过MenuItem.setOnActionExpandListener在独立使用的时候并没有生效配合toolbar应该是可以的(未验证)

  • 相关阅读:
    双指针
    二分查找
    二叉树
    递归思想
    排序算法
    Java常用集合使用方法总结
    攻防世界-PHP文件包含
    正则表达式随笔
    ts 函数
    ts 联合类型
  • 原文地址:https://www.cnblogs.com/yjpjy/p/10169542.html
Copyright © 2011-2022 走看看