我有一些意图在选项卡控制器中,其中一个是编辑文本,我需要确定它何时具有焦点以及何时失去焦点。
我已经映射了大部分事件,如焦点监听器,OnEditorActionListener等,现在我唯一的问题是当我拥有焦点时软键盘出现,我想通过以下方式关闭它:
- 使用“完成”按钮而不是手机上的返回按钮(在键盘可见时禁用返回按钮以关闭键盘)
- 检测到在键盘可见时的返回按钮事件,以便我可以将焦点传递给其他控件。
我已经尝试了多种方法,但都没有成功,例如onBackPressed,onConfigurationChanged(在清单文件中添加hiddenKeyboard),key_down on activity等,但都没有成功。
有人成功过吗?实际上,当键盘可见且我在手机上按下返回按钮时,我希望我的编辑文本失去焦点(otherControl.requestFocus ->是一个相对布局)。
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if (event.getKeyCode() == KEYCODE_BACK) { layoutFocus.requestFocus();
} return false; } });