我目前SearchView
在应用程序的操作栏中有一个。当我单击搜索图标时,将SearchView
展开并按预期弹出键盘。单击SearchView
框中的“ X”关闭SearchView
按预期的方式。但是,当SearchView
激活并按下“后退”按钮时,我的应用程序退出。这是正确的行为,但是我现在要做的是捕获后退按钮的按下,并SearchView
在SearchView
可见时关闭它(而不是我的应用程序)。有没有办法SearchView
OnCloseListener()
在按下后退按钮时以编程方式调用?例如,如下所示:
// On a back button press, if we are currently searching,
// close the SearchView. Otherwise, invoke normal back button
// behavior.
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (isSearchViewVisible) {
SearchView searchView = (SearchView) menu.findItem(R.id.searchBox)
.getActionView();
// This method does not exist
searchView.invokeClose();
return true;
}
}
return super.onKeyDown(keyCode, event);
}