android - 当一个fragment失去焦点然后又重新获得焦点时,为什么它的onResume()方法在此期间一直没有被调用?

标签 android android-fragments

fragment A 已获得焦点。创建Fragment B 后,B 现在获得焦点。这会导致 A 失去焦点,但它仍然可见。现在如果 B 被摧毁,A 会再次获得焦点。当 A 重新获得焦点时,它的 onResume() 方法是否被调用?如果不是,为什么?

(AB 在同一 Activity 中。)

最佳答案

在您描述的情况下,不会调用 onResume() 方法。查看documentation on the android fragment lifecycle .

onResume() 在第一次将 fragment 添加到 UI 时调用,然后在每次从暂停状态返回时调用。如果 fragment 被添加到返回堆栈,用户点击主页按钮并隐藏应用程序,或者如果其他应用程序接管电话(例如,用户接听电话), fragment 将暂停。一般来说,如果你的 fragment 和应用程序完全可见, fragment 不会被暂停。

UI 焦点不应与 Activity/fragment 生命周期混淆。您所描述的情况似乎更适合 OnFocusChangeListener .

关于android - 当一个fragment失去焦点然后又重新获得焦点时,为什么它的onResume()方法在此期间一直没有被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12404321/

相关文章:

android - fragment 管理器运行

java - 在java中显示两个日期之间的天,小时,分钟

Android HTTP POST 文件上传不适用于 HttpUrlConnection

Android - 记录启动延迟的问题

android - 麦克风权限

java - 无法将字符串资源用于 ListView 项

android - 如果获取的进程被终止,部分唤醒锁会发生什么?

android - 在 fragment 中按下物理后退按钮时取消 CountDownTimer

java - 根据特定条件替换 ViewPager fragment

android - 如何从 fragment 类调用 setContentView 方法?