我的视图中有一个 EditText 小部件。当用户选择 EditText 小部件时,我会显示一些说明并出现软键盘。
我使用 OnEditorActionListener 来检测用户何时完成文本输入,然后关闭键盘、隐藏指令并执行某些操作。
我的问题是当用户通过按 BACK 键关闭键盘时。操作系统关闭键盘,但我的指令(我需要隐藏)仍然可见。
我尝试过重写 OnKeyDown,但是当使用 BACK 按钮关闭键盘时似乎不会调用它。
我尝试在 EditText 小部件上设置 OnKeyListener,但似乎也没有被调用。
如何检测软键盘何时被关闭?
我知道一种方法可以做到这一点。将 EditText 子类化并实现:
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
// Do your thing.
return true; // So it is not propagated.
}
return super.dispatchKeyEvent(event);
}
以下是有关如何使用自定义视图的链接(当您子类化 EditText 时):http://developer.android.com/guide/topics/ui/custom-components.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)