是否有回调函数可以让我知道用户何时从FragmentA
转到FragmentB
?
我想在FragmentB
中捕获此行为,以便我可以执行一些操作...
是否有回调函数可以让我知道用户何时从FragmentA
转到FragmentB
?
我想在FragmentB
中捕获此行为,以便我可以执行一些操作...
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
DO YOUR OPERATIONS HERE
}
}
setUserVisibleHint
方法时非常不一致。 - Jaydev这对我有效。
supportFragmentManager.registerFragmentLifecycleCallbacks(object : FragmentManager.FragmentLifecycleCallbacks() {
override fun onFragmentStarted(fm: FragmentManager, f: Fragment) {
// your logic here
}
}, false)
如果您还想收到子片段管理器中启动的片段的警报,您可能希望将最后一个参数设置为true。
你可以通过使用片段的onPause和onResume状态来进行检查。
如果你想要检查FragmentB是否处于前台,那么只需在FragmentB的onResume中打印一个toast消息即可。
onPause
和onResume
片段与对应的活动事件密切相关。它们的工作方式不是你想象的那样。当活动对应的事件被触发时,它们将在片段上触发。 - DeltaCap019