空editText上的clearFocus()在Android中不起作用
我试图从空的editText中删除焦点,但它无法正常工作。 我在空editText上的clearFocus()在Android中不起作用,android,android-edittext,Android,Android Edittext,我试图从空的editText中删除焦点,但它无法正常工作。 我在edittext上调用了clearFocus() 发生的情况如下: onFocusChanged()使用聚焦参数值调用了4次false、true、false、true 我认为onFocusChanged()只能调用一次(focused=false) 对不起,我的英语不好。任何帮助都将不胜感激。 谢谢这是因为您的EditText是第一个可聚焦的视图 从文档中 注意:当视图清除焦点时,框架将尝试提供焦点 从顶部到第一个可聚焦视图。因此,
edittext
上调用了clearFocus()
发生的情况如下:
onFocusChanged()
使用聚焦参数值调用了4次false、true、false、true
我认为onFocusChanged()
只能调用一次(focused=false)
对不起,我的英语不好。任何帮助都将不胜感激。
谢谢这是因为您的EditText
是第一个可聚焦的视图
从文档中
注意:当视图清除焦点时,框架将尝试提供焦点
从顶部到第一个可聚焦视图。因此,如果该视图是
首先从顶部开始,可以集中精力,然后是与
将调用ClearingFocus,然后框架将给出
关注这个观点
您可以尝试在EditText
上方设置一个虚拟的可聚焦视图,以从中清除焦点。在xml中,创建父布局
android:focusable="true"
android:focusableInTouchMode="true"
然后调用clearFocus编辑文本,然后调用父请求焦点
mFragmentBase.editText.clearFocus();
mFragmentBase.parentLayout.requestFocus();
不要从EditText中清除焦点,而是在布局顶部创建一个空视图
<LinearLayout
android:id="@+id/focusableLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:focusable="true"
android:focusableInTouchMode="true"/>
最后,当你需要清除焦点时,只需打电话
focusableLayout.requestFocus()
hideKeyboard(currentActivity)
尝试欢迎使用堆栈溢出!请注意,您正在回答一个非常古老且已回答的问题。这是一本关于旅游的指南。
focusableLayout.requestFocus()
hideKeyboard(currentActivity)