Edittext在xml文件中设置android:focusable=“false”之后,edittext再次获得焦点

在xml文件中,edittext这个控件设置了,android:focusable=“false”,

代码中edittext.setfocusable(true),edittext这个控件仍然无法点击,百度之后,得到的结果是:

一定要按一下这个顺序写,重新使edittext获取焦点:

edittext.setFocusable(true);
edittext.setFocusableInTouchMode(true);
edittext.requestFocus();
edittext.requestFocusFromTouch();

这是为什么呢?


查阅API:

setFocusable(boolean):

Set whether this view can receive the focus. Setting this to false will also ensure that this view is not focusable in touch mode.

//--设置edittext是否可以获得焦点

setFocusableInTouchMode(boolean):

Set whether this view can receive focus while in touch mode. Setting this to true will also ensure that this view is focusable.

//--设置edittext在touch模式下是否可以获得焦点

requestFocus():

Call this to try to give focus to a specific view or to one of its descendants. A view will not actually take focus if it is not focusable (isFocusable() returns false),or if it is focusable and it is not focusable in touch mode (isFocusableInTouchMode()) while the device is in touch mode.

//--调用这个给指定的view或者它的子view焦点。如果这个view在isFocusable()方法下返回false,或者isFocusableInTouchMode()方法下返回false,这个view不会真正获得焦点

requestFocusFromTouch():

Call this to try to give focus to a specific view or to one of its descendants. This is a special variant of requestFocus() that will allow views that are not focuable in touch mode to request focus when they are touched.

//--调用这个给指定的view或者它的子view焦点。这个特别的变异于(?)requestFocus()的方法会让在这个view被touch时,给view焦点。


以上。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇