使用androids navgraph/navhost似乎很有用。然而,与以前的fragmentmanager方法replace相比,片段的生命周期发生了变化。
之前,我调用了replace with fragment manager,并在转换到新的片段之前调用了fragments onPause方法,以确保我注意到用户已经导航离开。
现在,使用导航图,当片段不再可见时,将调用onresume,但不会调用onpause、onSaveInstanceState和onstop。
对于这个问题,有许多旧的答案,所以它们不再相关,我看到一些排名较低的答案通过不使用navgraph和navhost来解决这个问题。
我的问题很简单,如下所示。
用户使用navhost/graph从片段(或navhostfragment)导航离开。该片段不可见。什么是适当的钩子来执行一些闭合代码。
此外,我无法创建本问题中应包含的navhost、navgraph或navcontroller标记
发布于 2021-10-26 01:40:59
Navgraph维护堆栈中的碎片,因此您不能保证何时会暂停。但是,当用户导航到片段或从片段导航时,您可以使用oncreateView和onDestroyView。我应该更清楚,因为我一直在使用oncreate。
保证在导航离开时调用此重写方法。
@Override
public void onDestroyView() {
super.onDestroyView();
}https://stackoverflow.com/questions/69713812
复制相似问题