2011-07-01 63 views
1

我无法找到任何答案,而且我有点迷路。我有两个活动,Act1和Act2。我在Act1中有一个按钮,当它按下时,它会启动一个新的Act2目标。然而,无论何时在Act2中点击后退按钮,再次单击按钮将重新启动新的Intent。如何在销售时不销毁当前活动

我不希望它那样做......我希望它恢复Act2。我该怎么去做呢?在此先感谢/

+0

你可能会问错误的问题。告诉我们你想达到什么目的,可能有办法解决这个问题,而不是仅仅想恢复Act2。你想保存Activity 2的某些状态/值,所以当你回来时他们会在那里? – binnyb

回答

2

它是当你点击返回(退出)或后退按钮Android的默认行为,它完成当前的活动,并加载你不想让你可以重写的onkeydown方法的默认行为先前activity.If它将帮助你。请参阅以下文档URL中的示例代码: http://developer.android.com/reference/android/app/Activity.html 您是否正在进行Act2中的任何网络或类似操作,而您下次不想再执行此操作?

+0

是的,先生,我正在做一些网络在act2,我想保存,除非用户想刷新。 – thunderousNinja

+1

然后在Act2中放置一个表示数据已下载的标志,因此您可以每次检查标志并进行操作,您可以将此标志保存在数据库中或使用共享偏好来保存标志。 – sunriser

4

您可以按照docs中所述将启动模式设置为“singleTop”,并捕获后退按钮以启动新的Intent,因为它们是singleTop,因此会显示旧活动。

<activity android:name=".Act1" android:launchMode="singleTop"/> 
<activity android:name=".Act2" android:launchMode="singleTop"/> 
0

您可以重写Act2中的onPause方法,并将您的信息保存在SharedPreferences对象中,这会在返回时在onCreate()中检索到。