需求:
使EditText 失去焦点时候,上报其输入的内容。
实现:
这不是很简单吗,通过设置OnFocusChangeListener监听,当回调false的时候就上报内容。 但事与愿违,EditText输入后,点击提交按钮,发现EditText没有失去焦点。
为什么会这样呢?触发了点击事件,不应该就获取到焦点了吗?难道两者是独立的?
当陷入困局时,让按钮可以获取到焦点是不是就可以了呢?抱着试试的态度,给按钮配置以下属性:
android:focusableInTouchMode="true"
android:focusable="true"
果然,在点击按钮时,EditText失去了焦点。
这里有一个误区:以后View触发了点击事件,就相当于获取了焦点,其实并不是这样。具体原因我也不知道为什么。