当我们在 android 中使用 backstack 返回上一个片段时,上一个片段正在重新启动

Previous fragment is restarting when we go back to previous fragment using backstack in android

假设我们有两个片段,我们在第二个片段中,然后如果有人按下后退按钮,那么我们使用 backstack 成功返回到前一个片段(即第一个片段),但问题是前一个片段正在重新启动所有内容.我想在提前按回button.Thanks的时候不重启也不初始化,直接显示上一个fragment的内容

欢迎来到Android碎片生活!!

根据@Uuu Uuu 的建议,您需要在添加片段时使用 add() 方法。您正在获取片段重叠,因为每次都会添加一个新片段。

您只需检查片段是否已经存在,就无需添加新片段。您可以在添加片段时分配一个 'tag'。代码如下-

if (fragmentManager.findFragmentByTag("First Fragment") == null)
         fragmentManager.beginTransaction().add(R.id.fragment, new FirstFragment(), "First Fragment").commit();

如果您是 android 开发的新手,请了解 fragment/activity 生命周期,这里有一篇精彩的文章 By Jose Alcérreca

希望这对您有所帮助,编码愉快。