当一个片段失去焦点然后重新获得焦点时,为什么它的onResume()方法永远不会被调用?

Eur*_*opa 10 android android-fragments

片段A得到了关注.当片段B被创建,现在获得的焦点.这会导致A失去焦点,但仍然可见.现在,如果B被摧毁,A再次获得焦点.当A重新获得焦点时,它的onResume()方法会被调用吗?如果没有,为什么?

(AB属于同一活动.)

小智 12

在您描述的情况下,不会调用onResume()方法.查看android片段生命周期文档.

onResume()是第一次将片段添加到UI时调用,然后每次从暂停状态返回时调用.如果片段被添加到后台堆栈,用户点击主页按钮并隐藏应用程序,或者如果某个其他应用程序接管电话(例如,用户接到电话),则片段将暂停.一般来说,如果您的片段和应用程序完全可见,片段没有暂停.

不应将UI焦点与活动/片段生命周期混淆.您描述的情况似乎更适合OnFocusChangeListener.

  • OnFocusChangeListener 适用于视图,而不是片段。你会如何在这里使用它? (2认同)