Android 按顺序从后台取出所有碎片
我正在我的应用程序项目中使用片段。所有片段都添加到后堆栈中:Android 按顺序从后台取出所有碎片,android,android-fragments,back-stack,Android,Android Fragments,Back Stack,我正在我的应用程序项目中使用片段。所有片段都添加到后堆栈中: ... fragmentTransaction.addToBackStack(null); ... 稍后,从后堆栈中按顺序获取所有片段的正确方法是什么?使用GetBackbackEntryCount()可以迭代后堆栈,并使用GetBackBackbackEntryAt()方法获取每个片段 编辑: 根据评论中的一些讨论,建议您手动存储已添加到Backback的片段列表,并将这些片段持久化到SharedReference中。然后,当应用
...
fragmentTransaction.addToBackStack(null);
...
稍后,从后堆栈中按顺序获取所有片段的正确方法是什么?使用
GetBackbackEntryCount()
可以迭代后堆栈,并使用GetBackBackbackEntryAt()
方法获取每个片段
编辑:
根据评论中的一些讨论,建议您手动存储已添加到Backback的片段列表,并将这些片段持久化到SharedReference中。然后,当应用程序启动时,您可以读回此列表,并重新加载这些片段。但是当调用getbackbackbackentryat()时,我得到了“backbackbackentry”,我如何才能获得片段?我需要后堆栈中的碎片。抱歉,看起来您无法使用这些方法。您将需要自己手动保留引用,尽管backbackentry的文档中没有说明您不应该保留这些引用。请问你想达到什么目标?可能有更好的解决方案当服务器响应不正确时,我的应用程序将被终止。如果用户再次启动应用程序,我的应用程序将显示以前显示的片段,因此我的应用程序需要在本地保留片段回堆栈信息,我需要按顺序从backstack获取片段。您应该手动存储当前打开的所有片段的列表。如果您知道应用程序何时将被终止,那么您将能够将列表持久化到SharedReferences中,然后在应用程序再次启动时检索它们。每次在后堆栈中添加或删除某些内容时,请确保将引用添加到列表中。为了使它更简单,有一个Constants类为每个片段分配一个ID(int类型),然后您将能够交叉引用加载的片段。