我是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);发布于 2012-05-15 14:12:44
有没有什么特殊的原因让你不想使用活动栈,让活动自己处理呢?
Android系统在活动生命周期方面做得非常好。它允许您从不同的位置启动一个活动,而不会让用户感到困惑,因为后退按钮会将用户带回另一个活动。
如果你没有很好的理由不使用Android指南,试着坚持系统正在做的事情。其他的事情只会给你带来问题。
你开始活动是为了一个结果,但我对你的理解是,你永远不会回到这些活动中来。
你可以开始一个活动,然后完成当前的活动。这样一来,活动就不会被放在后台堆栈上。现在,您需要监听back按钮的按下,并创建您想要将用户带到的活动。
如果您想要从活动A移动到D,就像转到应用程序的开始/主页屏幕一样,您可以执行以下操作:
Intent goBackToA = new Intent(context, StdActivity.class);
goBackToA.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(goBackToA);标志FLAG_ACTIVITY_CLEAR_TOP将告诉系统,如果后栈包含Activity的实例,则将显示此activity,并且从backstack中删除当前activity和目标activity之间的所有活动。这允许您返回到主页活动,而不会创建用户可以使用后退按钮移动的巨大循环。
发布于 2012-05-15 14:03:45
要返回到上一个活动,您不必创建新的意图,只需在应该消失的意图上调用this.finish()即可。
发布于 2012-05-15 14:06:34
要返回到上一个活动,您不必创建新的意图,您可以简单地在应该消失的活动上调用this.finish(),或者您可以按back按钮来查看上一个活动。
https://stackoverflow.com/questions/10594927
复制相似问题