如何检测用户何时离开EditText?

时间:2012-07-06 20:48:52

标签: android

我希望EditText在用户触摸Activity中的其他UI元素时失去焦点,如复选框,或者真正触及Activity中EditText之外的任何位置,但这不会发生。当用户开始输入另一个EditText时,焦点才会改变。例如,当他们点击复选框或点击屏幕的其他区域时。

2 个答案:

答案 0 :(得分:2)

听起来您需要将以下两行添加到布局中的所有小部件中:

android:focusable="true"
android:focusableInTouchMode="true"

这样他们都可以获得焦点(通常只有某些人可以),你可以将onFocusChangeListener附加到相关的EditText,你应该达到预期的效果。

当然,这也可能会对你的其他小部件造成严重破坏(不知道它们是什么,我无法确定),但它值得一试。

答案 1 :(得分:-1)

你能不能在另一个View的点击事件上强制关闭android软键盘?

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);

切换调用确实就是这样 - 如果它打开,它将关闭,如果它关闭,它将打开!