在我的Fragment
之一中,我在OnFocusChangeListener
中为EditText
注册了onResume()
:
override fun onResume() {
super.onResume()
editText.setOnFocusChangeListener {
// do something here
}
}
我正在onResume()
中注册侦听器,因为如果我在较早的生命周期方法中进行设置,则会在每次配置更改时触发它。在onResume()
中进行设置可确保在注册侦听器之前已恢复配置更改之前存在的焦点,因此在配置更改/焦点恢复之后,侦听器不会自动触发。
现在,我担心我可能注册这个听众的时间太晚了。所以我的问题是:在执行onResume()
之前或期间,用户交互是否已经可以引起对某个元素的关注? (这意味着,我将失去此焦点事件,因为我在onResume()
期间设置了侦听器)。或更笼统:执行onResume()
时是否已经可以进行用户交互?片段documentation表示关于onResume()
:
当片段对用户可见并正在运行时调用。
很明显“对用户可见”是什么意思,但是“正在运行”到底是什么意思呢?这是否已经意味着接受用户输入?还是在onResume()
完成后首先接受用户输入?