埋点事件-EditText 焦点监听

109 阅读1分钟

需求:

使EditText 失去焦点时候,上报其输入的内容。

实现:

这不是很简单吗,通过设置OnFocusChangeListener监听,当回调false的时候就上报内容。 但事与愿违,EditText输入后,点击提交按钮,发现EditText没有失去焦点。

为什么会这样呢?触发了点击事件,不应该就获取到焦点了吗?难道两者是独立的?

当陷入困局时,让按钮可以获取到焦点是不是就可以了呢?抱着试试的态度,给按钮配置以下属性:

android:focusableInTouchMode="true"
android:focusable="true"

果然,在点击按钮时,EditText失去了焦点。

这里有一个误区:以后View触发了点击事件,就相当于获取了焦点,其实并不是这样。具体原因我也不知道为什么。