我正在尝试从我的 Activity
中禁用 SearchView
。我尝试了以下代码:
mSearchView.setEnabled(false);
mSearchView.setFocusable(false);
mSearchView.setClickable(false);
但它不起作用。仍然可以单击 SearchView 并弹出 KeyBoard。我希望它变成灰色并且无法点击。我怎样才能做到这一点?
最佳答案
所有陈述的答案都不能满足我的需求,所以我想为处于相同情况的任何人提供另一个答案。
SearchView 由不同的 View 组成,这些 View 可以 - 在这种情况下必须 - 单独处理。 如果您希望您的 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 answer searchView.setInputType(InputType.TYPE_NULL)
的问题:如果您以这种方式禁用 SearchView 并在之后单击它,系统似乎需要一个打开的键盘,但未显示键盘。因此,单击第一个后退按钮只会关闭 - 未显示或实际上未打开 - 键盘。)
关于android - 禁用 SearchView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11436018/