我想通过在 edittext 之外点击来隐藏键盘。这是我的 xml 代码:
<RelativeLayout
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:onClick="rl_main_onClick">
<RelativeLayout
//Here there are some widgets including some edittext.
</RelativeLayout>
这是我的 Java 代码(MainActivity):
public void rl_main_onClick(View view) {
InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
}
但我必须点击两次才能隐藏键盘。第一次点击只是将“下一步”(对于最后一个编辑文本是“完成”)更改为“输入”图标,然后第二次点击隐藏键盘。这是第一次点击时发生的情况:
现在我有两个问题:
如何修复它并一键隐藏键盘?
是否可以对我所有的编辑文本(一个代码)执行此操作?
原文由 Reyhaneh Sharifzadeh 发布,翻译遵循 CC BY-SA 4.0 许可协议
尝试将
onClick
替换为onTouch
。为此,您需要像这样更改布局属性:然后删除
rl_main_onClick(View view) {...}
方法并插入onTouch
监听器方法onCreate()
: