繁体   English   中英

如何在Android中管理Activity实例

[英]How to manage Activity instances in Android

我有一个初始活动O和另一个活动A在其中我可以选择进入活动A1,A2,A3 ,例如在每个活动中填写一个表格。 所以我走这条路:

O> A> A1> A> A2> A> A3

当我在A3时,我想按后退按钮并再次转到O ,但是我将必须从A的每个实例传递(假设我使用finish()或清单A1,A2,A3 no history A1,A2,A3因此它们将不会出现在堆栈中)

我如何声明A在堆栈中只有一个实例(最后一个),因此如果我按两次后退按钮,我将再次转到O

  @Override
public void onBackPressed() {
    Intent intent = new Intent(this,O.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(intent);
    finish();
}

将活动AlaunchMode更改为singleTop 如文档中所述:

如果活动的实例已经存在于目标任务的顶部,则系统通过调用其onNewIntent()方法将意图路由到该实例,而不是创建活动的新实例。

现在,不必从A -> A1 -> A转到,而是只需finish()活动A1 (或使用向上按钮 ),这将使您返回到活动A的实例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM