【发布时间】:2021-07-12 07:50:54
【问题描述】:
如何在 Android 应用中检查片段是否对用户可见?
我有一个应用,其中 Home activity 有多个 fragments。其中一个片段侦听从 Home 开始的另一个活动的事件,因此每次我从该活动返回 Home 时都会执行一个方法。虽然我想要的是仅触发这些事件并执行该方法如果片段在前台对用户可见。
我尝试了以下方法,但似乎没有任何效果:
-
isAdded()和isVisible()检查 - 始终在创建片段后立即返回true,无论片段是否对用户实际可见。 -
getUserVisibleHint()- 即使我仍在其他活动中,这也会再次返回true。此外,它也已被弃用,因此即使它有效,我也想寻找其他解决方案。
我已经走到了死胡同,无法找到一种实际的工作方式来检查片段是否对用户真正可见,而不仅仅是添加到内存中。
对此的任何帮助表示赞赏!
【问题讨论】: