2011-05-14 62 views
0

好的。 。 。我已经阅读了数小时的建议和论坛以及开发者页面,没有得出任何确凿的答案。活动导航请咨询

我拥有的是:一个包含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

有没有更好的方式来建立我的导航? (这是我相当确定的上下文的最佳选择)

什么是适当的启动模式/标志/ savedinstancestate和什么来实现正确的结果?我可以根据需要详细解释。

我知道我需要的问题是建立活动,使导航按钮我已经把每个活动显示所有以前保存的数据始终打开活动的数据保存(在当前任务实例)

我将所有activites设置为launchMode:singleTask,我没有手动编码任何标志,我已经正确设置了onsavedinstance,但是像下面这样简单:Activity B-> Activity A-> Activity B(仅使用我的按钮)Activity B在去A和返回(再次我没有使用返回键,我在布局中使用我的导航按钮)我该如何解决这个问题?

奇怪寿活动A确实能保留内存,但其他活动中都没有

+0

简化将应用程序广泛状态保存在应用程序上下文中的问题吗?然后每个活动都可以读取和写入应用程序上下文。缺点是活动的所有实例都会共享相同的状态。我在http://sites.google.com/site/jalcomputing/home/mac-osx-android-programming-tutorial/application – JAL 2011-05-15 02:42:42

回答

0

为什么你使用singleTask?
你不是找

intent.setFlag(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 

+0

上发布了一些代码非常感谢你......这工作!结束了两个星期的搜索答案。 。 。我会投票,如果我能 – SLYtiger 2011-05-16 15:14:20

+0

谢谢。我会推荐你​​[阅读此](http://developer.android.com/guide/topics/fundamentals/tasks-and-back-stack.html)。它将在未来节省您的时间:) – pawelzieba 2011-05-16 15:46:54