当前位置: 首页 > 知识库问答 >
问题:

键盘启动时的处理后退按钮

段干瑞
2023-03-14

在我的应用程序中,我有一个EditText。当我聚焦这个元素时,会出现光标和键盘。当我知道按下后退按钮时,键盘消失,但元素保持聚焦,闪烁的光标仍然可见。

我试图用我在其他帖子上找到的代码来管理它,但它不起作用,我只是不明白这个事件。

public boolean dispatchKeyEventPreIme(KeyEvent event) {     
    if(event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
        Toast.makeText(this, "KeyEvent abgefangen", Toast.LENGTH_LONG).show();
        search.clearFocus();
        InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(search.getWindowToken(), 0);
    }
    return true;        
}

共有1个答案

蓬琦
2023-03-14

是否尝试在另一个元素中调用requestFocus()

例如,如果你有另一个文本编辑或类似的东西

 类似资料:
  • 我正在开发一个Android应用程序,我设计了一个弹出窗口,通过替换活动中的软键盘来显示一些视图。popupWindow包含一个searchView。当我点击一个按钮时,它显示弹出窗口,软键盘被隐藏。现在,当popupWindow中的searchView获得焦点时,我调用该方法: PopupWindow.set聚焦(真) 显示键盘,以便用户可以在searchView中开始键入。当searchVie

  • 问题内容: 我正在使用pushState为网站上的Ajax内容创建有意义的URL。我想在用户单击前进或后退按钮时刷新Ajax内容。但是我遇到了问题,因为Chrome(正确)在“历史记录遍历”(前进/后退按钮)和“结束”(页面加载)上都暗示了onpopstate。我想创建一个区分页面加载和历史遍历的onpopstate处理程序,因为如果已经成功加载Ajax内容,我就不希望刷新它。有人可以帮助我区分两

  • 我有一个活动,当我的应用程序首次启动时开始(只有一次)。该活动允许用户选择主题。然后当他们按下完成键时,我完成了这项活动。这会将用户引导到主活动。但是当用户按下返回按钮时,它会返回到第一次启动的活动(我使用完成()关闭的活动)。但我想要的是,应用程序应该关闭时,用户按下返回按钮从主活动(总是)。我在两个类中都重写了onBackPress。 这两个类中的onBackPressed方法如下所示: 主活

  • 正如你可以从屏幕截图中看到的,当我打开键盘时,后退按钮更改为关闭键盘的新操作。有没有办法通过代码禁用它,并显示屏幕上的返回按钮? 我四处寻找,但没有找到答案。 谢谢

  • 我想知道如何使用导航控制器正确处理系统后退按钮动作。在我的应用程序中,我有两个片段(例如,fragment1和fragment2),我在fragment1中有一个操作,目标是fragment2。除了一件事之外,所有的工作都很好--当用户按下fragment2中的system back按钮时,我希望显示一个对话框(例如使用DialogFragment)来确认退出。实施这种行为的最佳方式是什么?如果我

  • 如何强制GLFW管理每秒60次以上的键盘回调?也就是说,我希望GLFW的键盘处理速度取决于实际的FPS。这可能吗?