android – 禁用SearchView

我正在尝试从我的Activity中禁用SearchView.我尝试了以下代码
mSearchView.setEnabled(false);
    mSearchView.setFocusable(false);
    mSearchView.setClickable(false);

但它不起作用.仍然可以单击SearchView并弹出KeyBoard.我希望它变得灰暗,不可点燃.我怎么能做到这一点?

解决方法

所述答案都不足以满足我的需求,所以我想为同样情况下的任何人提供另一个答案.

SearchView由不同的视图组成,可以 – 并且在这种情况下必须 – 单独处理.
如果你希望你的SearchView(支持v7)在这样的状态下冻结和灰显,不回答任何类型的输入,包括搜索和清除按钮,你可以使用:

ImageView clearButton = (ImageView) searchView.findViewById(android.support.v7.appcompat.R.id.search_close_btn);
SearchView.SearchAutoComplete searchEditText = (SearchView.SearchAutoComplete) searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text);

clearButton.setEnabled(false);
searchEditText.setEnabled(false);
searchView.setSubmitButtonEnabled(false);

(此外,我遇到了deeptis回答searchView.setInputType(InputType.TYPE_NULL)的问题:如果以这种方式禁用SearchView并在之后单击它,系统似乎期望打开键盘,但键盘显示.因此,第一个后退按钮单击只会导致关闭 – 未显示或实际上未打开 – 键盘.)

相关文章

这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...