假设有三项活动
A-> B-&以及c
如果我从C回到B,我必须做的只是:
在C:
onBackPressed();
在B
protected void onSaveInstanceState(Bundle outState) {
.....
}
if (savedInstanceState != null) {
.....
}
上面的代码将处理从C到B的情况。但是,如果C到A,我该怎么办?另外,如果我希望A和C之间的所有活动在C到A时都会被破坏,如何处理?谢谢
答案 0 :(得分:2)
另外,如果我希望A到C之间的所有活动在C到A时都会被破坏?
使用此Intent Flag
Intent i = new Intent(ActivityC.this, ActivityA.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
然而,如果C到A怎么办,我该怎么办?
此标志会将所有Activities
保留在堆栈之间,但将A带到前面
Intent i = new Intent(ActivityC.this, ActivityA.class);
i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(i);
在任何一种情况下,如果您要删除finish()
,则需要在致电startActivitiy()
后致电Intent Flags
。
您可以找到所有{{1}} Here in the Docs