好的。 。 。我已经阅读了数小时的建议,论坛和开发者页面,没有确定的答案。
我所拥有的:是一个包含8个活动的应用程序,每个活动都有一组稍微不同的按钮,可以导航到其他一些活动。每个活动都有多种形式的数据收集,最终以电子邮件意图结束,收集所有应用程序UI数据。
问题:我似乎无法找到与onSavedInstanceState结合使用导航按钮的正确方法,这样无论如何,每次启动一个活动时,它都会显示用户输入的所有数据(sp?)因此在这个应用程序的实例中。我不想在关闭应用程序之外保存数据。我确实希望用户能够在活动中尽可能多地来回导航,而不会丢失数据,直到应用关闭。
这就是我所拥有的:
活动A:具有以下按钮:活动B,C,D,E和F(F =电子邮件意图)
活动B:具有以下按钮:活动G和A. 活动G:具有以下按钮:活动B和A
活动C:具有以下按钮:活动H,I和A. 活动H:具有以下按钮:活动C,I和A. 活动I:具有以下按钮:活动H,I和A
活动D:按钮:活动A
活动E:按钮:活动A
有没有更好的方法来设置我的导航? (这对于我非常肯定的上下文来说是最佳的)
什么是正确的启动模式/ Flags / savedinstancestate以及什么才能达到正确的结果?我可以根据需要详细解释。
我知道我需要保存数据,问题是设置活动,以便我在每个活动中放置的导航按钮始终打开活动,显示所有先前保存的数据(在当前任务实例中)
我将所有活动设置为launchMode:singleTask,我没有手动编码任何标志,我已经正确设置了onsavedinstance,但事情很简单:活动B->活动A->活动B(仅使用我的按钮)活动B在转到A并再次返回后没有保存任何内容(我再次使用后退键,我在布局中使用导航按钮)如何修复此问题?
奇怪的是,活动A会保留记忆,但其他任何活动都没有
答案 0 :(得分:0)
为什么你要使用singleTask?
阿伦你在寻找
intent.setFlag(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);