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