单击编辑文本外部时如何隐藏键盘?
我有带有 editText
的自定义 listview
,并在点击 edittext
时编辑 edittext
数据,并帮助显示键盘正在工作美好的 。
我的问题是,当我在 edittext
外部单击时,键盘必须隐藏。
谢谢...
i have custom listview
with editText
and edit the edittext
data on tapping edittext
with help of showing keypad it is working fine .
my problem is when i click outside of edittext
the keypad must hide.
thanks...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
为此,您必须在布局文件的父布局上获取 onTouchListener。在 TouchListener 上,您必须编写代码以在单击 EditText 外部时隐藏键盘。请遵循 XML 布局和 Java 类来解决此问题,请遵循以下网址。
http://amitthaperandroidquery.blogspot.com/2011/10 /remove-keyboard-after-click-outside.html
For this you have to take the onTouchListener on the parent layout of the Layout File. on the TouchListener you have to code to hide the Keyboard when click outside the EditText. Please follow XML Layout and Java class to resolve this issue please follow following url.
http://amitthaperandroidquery.blogspot.com/2011/10/remove-keyboard-after-click-outside.html
一种方法是您可以为 EditText 设置焦点更改侦听器。
当小部件失去焦点时,您可以通过以下方式隐藏键盘:-
One way is that you can set a focus change listener to the EditText.
When the widget loses focus you can hide the Keyborad by:-
您可以通过执行以下步骤来实现此目的:
通过添加以下属性使父视图(活动的内容视图)可点击且可聚焦
实现 hideKeyboard() 方法
最后,设置 edittext 的 onFocusChangeListener。
来自此来源
You can achieve this by doing the following steps:
Make the parent view(content view of your activity) clickable and focusable by adding the following attributes
Implement a hideKeyboard() method
Lastly, set the onFocusChangeListener of your edittext.
From This source
与接受的答案类似的另一种方法是子类化布局的根视图并覆盖 OnInterceptTouchEvent,隐藏键盘并返回 false 以允许触摸照常传播。
下面的示例适用于 Xamarin,但很容易移植到 Java:
Another way similar to the accepted answer is to subclass the root view of the layout and override OnInterceptTouchEvent, hide the keyboard and return false to allow the touch to propagate as usual.
The example below is for Xamarin but it is easy to port to Java: