我有同样的问题,我发现here我将重申这一点,因为该解决方案并不是 100% 完全符合我的需要:
目前,我的应用程序的操作栏中有一个 SearchView。当我单击搜索图标时,SearchView 会展开,并且键盘会按预期弹出。单击 SearchView 框中的“X”将按预期关闭 SearchView。但是,当激活 SearchView 并按下“后退”按钮时,我的应用程序将退出。这是正确的行为,但我现在想做的是捕获后退按钮按下,并在 SearchView 可见时关闭 SearchView (不是我的应用程序)。有没有办法在按下后退按钮时以编程方式调用 SearchView OnCloseListener() ?例如,这样的事情:
这是解决方案:
@Override
public void onBackPressed() {
if (!searchView.isIconified()) {
searchView.setIconified(true);
} else {
super.onBackPressed();
}
}
问题是解决方案需要用户按回键不是一次,而是两次: 一次*退出键盘并**一次关闭 SearchView。
怎样才能关闭键盘AND按回车键同时搜索 SearchViewonce?
edit:
有人有类似的问题EditText解决方案是对 EditText 视图进行子类化。
@Override
public void onBackPressed() {
if (!searchView.isIconified()) {
searchView.setIconified(true);
searchView.onActionViewCollapsed()
} else {
super.onBackPressed();
}
}
以下方法仅清除您的文本
searchView.setIconified(true);
下面这个方法关闭您的搜索视图
searchView.onActionViewCollapsed()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)