Android 后台堆栈管理问题

Android 后台堆栈管理问题,android,Android,我有一个使用.replace()管理大量片段的活动。我在使用后退按钮时遇到问题。下面是一个解释: 活动添加f1-> f1被f2替换(添加到后台)-> f2被f3替换(无回撤添加) 按后退按钮 f1出现 单击按钮将f1替换为f2,f1和f2都在屏幕上-重叠 我读了很多关于这个问题的问题和答案,我发现: 当f1被f2替换时,事务将添加到backbackback。因此,单击“上一步”时,会删除f2并添加f1。但是,f2已被更换,因此无法移除 我不确定这是否是我的问题,因为当我单击“上一步”时,f3似乎

我有一个使用.replace()管理大量片段的活动。我在使用后退按钮时遇到问题。下面是一个解释:

活动添加f1-> f1被f2替换(添加到后台)-> f2被f3替换(无回撤添加)

按后退按钮

f1出现 单击按钮将f1替换为f2,f1和f2都在屏幕上-重叠

我读了很多关于这个问题的问题和答案,我发现: 当f1被f2替换时,事务将添加到backbackback。因此,单击“上一步”时,会删除f2并添加f1。但是,f2已被更换,因此无法移除

我不确定这是否是我的问题,因为当我单击“上一步”时,f3似乎被删除

有没有办法解决这个问题

谢谢

编辑:有什么想法吗?如果有帮助的话,我可以提供更多信息


编辑:刚刚测试了将所有事务添加到backbackback,并多次单击back返回f1,问题就解决了。看来这就是问题所在。我将如何着手修复它?

如果您展示了从一个活动转换到下一个活动的代码,这将有所帮助。特别有趣的是,在启动下一个活动之前,是否对当前活动调用“finish()”。您可以发布此代码吗?您可能希望阅读此代码以更好地了解后堆栈:。我正在使用片段。因此代码是:
ViewFragment vfragment=newviewFragment();vfragment.setRetainInstance(真);fragmentTransaction.replace(R.id.fragment_布局,vfragment,“视图”);fragmentTransaction.commit()和第一次替换的addToBackStack调用