【发布时间】:2013-07-04 13:56:21
【问题描述】:
我目前在我的应用的操作栏中有一个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);
}
【问题讨论】:
标签: android searchview