Android 销毁碎片的正确方法
所以我看了类似的问题也没用。我有一个片段承载了一个ViewPager,它是一个报告向导。当用户完成向导时,它会将他们重定向到一个新的片段,以确认报告已完成。我想完全销毁ViewPager片段,这样,如果我的用户尝试进行其他操作,他们就可以重新开始。在移出ViewPager片段并进入完成的片段后,我尝试弹出后堆栈,但我得到了递归错误。有没有合适的方法来实现这一点?不要做任何事情,甚至不要将其添加到后堆栈中。一旦不再存在引用,旧的片段将被垃圾收集,而且听起来你并不真的需要将此片段放在后堆栈中。但问题是,如果用户开始填写报告,转到我应用程序的其他部分,然后再回来,我不想失去这一点,但将片段添加到后堆栈是实现这一点的错误方法。后堆栈用于构建带有片段的导航层次结构,而不是保存片段的实例状态。如果要永久保存数据,请将其保存在SharedReferences中。如果你不需要它永久性的保存,我只需要将Expandle中的所有内容保存在onSaveInstanceState中。这样做并不能保证数据会存在很长时间,但如果用户足够快地返回片段,它应该可以工作。Android 销毁碎片的正确方法,android,android-fragments,android-viewpager,Android,Android Fragments,Android Viewpager,所以我看了类似的问题也没用。我有一个片段承载了一个ViewPager,它是一个报告向导。当用户完成向导时,它会将他们重定向到一个新的片段,以确认报告已完成。我想完全销毁ViewPager片段,这样,如果我的用户尝试进行其他操作,他们就可以重新开始。在移出ViewPager片段并进入完成的片段后,我尝试弹出后堆栈,但我得到了递归错误。有没有合适的方法来实现这一点?不要做任何事情,甚至不要将其添加到后堆栈中。一旦不再存在引用,旧的片段将被垃圾收集,而且听起来你并不真的需要将此片段放在后堆栈中。但问题