我如何管理我的活动并正确完成它们?

时间:2012-05-15 06:01:06

标签: android android-activity

我是android新手,我的应用程序总共有6-7个活动。我想知道如何正确管理我的活动意味着当我转移到A-> B-> C-> D时。那我怎么能移动那些没有创建这些活动的堆栈。

在从一个活动转移到另一个活动时,我使用以下代码:

Intent intent=new Intent(current.this,next.class);
                startActivityForResult(intent, 0);

现在,如果我想回到之前的活动,我将代码用作:

Intent start = new Intent(current.this,next.class);
                    startActivity(start);
                    finishActivity(0);

4 个答案:

答案 0 :(得分:3)

是否有特殊原因导致您不想使用活动堆栈并让活动自行处理?

Android系统在活动生命周期方面做得非常好。它允许您从不同的地方启动一个活动而不会混淆用户,因为后退按钮会将用户带回另一个活动。

如果您没有充分的理由不使用Android指南,请尝试坚持系统的方式。其他每件事都只会给你带来麻烦。

你正在为一个结果开始活动但是我如何理解你永远不会回到他们身边。

您可以启动一个活动,之后只需完成当前的活动。这样,活动就不会放在后台。现在,您需要侦听后退按钮并创建要将用户带到的活动。

如果您想从活动A转移到D,就像转到应用程序的开始/主屏幕一样,您可以执行以下操作:

  Intent goBackToA = new Intent(context, StdActivity.class);
  goBackToA.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  startActivity(goBackToA);

标志FLAG_ACTIVITY_CLEAR_TOP将告诉系统,如果backstack包含Activity的实例,则将显示此活动,并且从Backstack中删除当前活动与目标活动之间的所有活动。这允许您返回主页活动,而不会创建用户可以使用后退按钮移动的大循环。

答案 1 :(得分:1)

要回到上一个活动,您不必创建新意图,只需在应该消失的那个上调用this.finish()。

答案 2 :(得分:1)

要返回上一个活动,您不必创建新意图,只需在应该消失的那个上调用this.finish(),或者按Back按钮查看上一个活动。

答案 3 :(得分:1)

无论何时你想从一个类导航到另一个类都使用这个代码,这可能会帮助你导航Activity,

 Intent nextpage = new Intent(CurrentActivity.this,NextActivity.class);
    startActivity(nextpage);
    this.finish();