首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何管理我的活动并正确地完成它们?

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

Stack Overflow用户
提问于 2012-05-15 14:01:06
回答 4查看 977关注 0票数 2

我是android新手,在我的应用程序中总共有6-7个活动。我想知道当我像这样移动到A->B->C->D时,我如何正确地管理我的活动。那么,我如何才能移动这些未创建的活动的堆栈。

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

代码语言:javascript
复制
Intent intent=new Intent(current.this,next.class);
                startActivityForResult(intent, 0);

现在,如果我想回到前面的活动,我使用的代码如下:

代码语言:javascript
复制
Intent start = new Intent(current.this,next.class);
                    startActivity(start);
                    finishActivity(0);
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-05-15 14:12:44

有没有什么特殊的原因让你不想使用活动栈,让活动自己处理呢?

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

如果你没有很好的理由不使用Android指南,试着坚持系统正在做的事情。其他的事情只会给你带来问题。

你开始活动是为了一个结果,但我对你的理解是,你永远不会回到这些活动中来。

你可以开始一个活动,然后完成当前的活动。这样一来,活动就不会被放在后台堆栈上。现在,您需要监听back按钮的按下,并创建您想要将用户带到的活动。

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

代码语言:javascript
复制
  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之间的所有活动。这允许您返回到主页活动,而不会创建用户可以使用后退按钮移动的巨大循环。

票数 3
EN

Stack Overflow用户

发布于 2012-05-15 14:03:45

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

票数 1
EN

Stack Overflow用户

发布于 2012-05-15 14:06:34

要返回到上一个活动,您不必创建新的意图,您可以简单地在应该消失的活动上调用this.finish(),或者您可以按back按钮来查看上一个活动。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10594927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档