我希望EditText在用户触摸Activity中的其他UI元素时失去焦点,如复选框,或者真正触及Activity中EditText之外的任何位置,但这不会发生。当用户开始输入另一个EditText时,焦点才会改变。例如,当他们点击复选框或点击屏幕的其他区域时。
答案 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);
切换调用确实就是这样 - 如果它打开,它将关闭,如果它关闭,它将打开!