我有操作栏搜索菜单。当我点击搜索图标时,会显示聚焦和软键盘。我想使用onBackPressed事件重置搜索。当我第一次按回按钮时,软键盘会隐藏。我再次按下按钮,搜索视图将被重置并折叠。
我试过这种方式却失败了
@Override
public void onBackPressed() {
// It's expensive, if running turn it off.
// DataHelper.cancelSearch();
hideKeyboard();
super.onBackPressed();
}
private void hideKeyboard() {
InputMethodManager imm = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(mSearchView.getWindowToken(), 0);
}
我的代码隐藏了键盘,但当我再次按下后退按钮时,它会导航到以前的意图。
答案 0 :(得分:0)
停止调用super方法,然后您将无法导航到上一个活动,只有软键盘才会隐藏。
@Override
public void onBackPressed() {
// It's expensive, if running turn it off.
// DataHelper.cancelSearch();
hideKeyboard();
//super.onBackPressed();
}
现在你可以做任何你想做的事。