2012-07-28 80 views
0

我有一个Android应用程序,其中活动A调用活动B,其中调用活动C。 活动C有按钮可以重新启动整个事情,但用户应该能够在活动之间导航,如果他按下后退按钮。折叠以前的活动并重新启动应用程序

我试过startActivityForResult(intent,int)和发送关闭所有回来的路上,但在这种情况下,如果用户点击后退按钮,它缩短了以前所有的活动,无论按下活动C重启按钮。

任何人都知道如何解决这个问题?

+0

你应该管理你的活动生命周期下面的链接可以帮助你http://developer.android.com/training/basics/activity-lifecycle/index.html – 2012-07-28 08:14:56

回答

0

您可以使用setResult()。例如,当用户点击活动C中的“重新启动”按钮时,将结果代码设置为您的自定义代码(例如10)。在A,B,你得到代码(在onActivityResult())并处理它。

+0

这样,如果用户简单地从B返回到A,它会折叠所有内容。我用Pref(真/假)解决了它...... Thx! – DAndroid 2012-07-29 11:24:03

0

我不明白你的意思完全

据我的理解,你应该使用结束(),意向声明之前,每个活动

+0

活动A有onActivityResult - 如果requestCode == 2然后完成();并用startActivityForResult(i,2)启动B; 活动B在onActivityResult中 - 如果requestCode == 2,则finish();并用startActivityForResult(i,2)启动c;活动C在setResult(2)和finish()中进行; 结果是,它不仅关闭了活动C上关闭时的活动,而且还关闭了活动B上用户按下back_btn时的活动。 – DAndroid 2012-07-28 08:19:38

相关问题