0

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

4

2 回答 2

2

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

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

这样他们都可以接收焦点(通常只有某些可以),并且您可以附加onFocusChangeListener到有问题的 EditText 并且您应该达到预期的结果。

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

于 2012-07-06T23:57:28.660 回答
-1

你能不能在另一个视图的点击事件上强制关闭安卓软键盘?

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

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

于 2012-07-06T21:02:39.090 回答