我在Android A,B,C,D中有一个包含多个活动的应用程序。我有关于后台的问题。
A-> B-> C-> D它是正常序列。
我的问题是:当我按下活动D中的后退按钮时,我必须转到活动B,而不是回到ActivityC。由于ActivityC有一些我要保存的imageView,我不想使用noHistory来销毁ActivityC。有可能做到这一点
A1-> B1-> C 1> D1
后堆栈应为:D1-> B1-> A1。 C1保存了一些imageView,如果C1再次启动,C1中的imageView将包含相同的图像。是否可以修改ActivityC ??
中的代码谢谢
答案 0 :(得分:0)
在活动D开始后,您应该在活动C中调用finish()
startActivity(intent);
finish()
答案 1 :(得分:0)
处理每项活动的onBackPressed()。因此,在反压D后,它将重定向到B,然后类似于A.
答案 2 :(得分:0)
使用活动的onActivityResult()方法: -
以下是它的工作原理 -
启动startActivityForResult()
时使用activity
方法
当你回去时
Activity D
- 在完成写作之前 -
Intent i = getIntent();
setResult(RESULT_OK);
finish();
您的D
已完成,c's
onActivityResult()
将被调用 - 保存您的数据并使用上述方法致电finish()
,它将转到B's
{ {1}}。