在Android中完成(或访问)特定活动

时间:2010-12-01 10:06:10

标签: android android-2.2-froyo

当用户打开活动时,它们会堆叠在视图堆栈上。 当用户以任何方式完成一个Activity时,它会从视图堆栈中弹出。

现在,我有一种情况,用户已打开应用程序的主屏幕,并在主屏幕上连续打开了多个活动。在每个活动中,都有一个控件让用户再次看到主屏幕。

我可以想到,有两种方法可以解决这个问题:

  1. 按下该控件后,从视图堆栈的底部弹出主屏幕并将其推到顶部。
  2. 按下控件后,开始弹出当前屏幕,直到主屏幕成为当前屏幕。
  3. 我知道在Android中有一些方法可以做至少其中一个,或类似的事情。 我不记得是什么了。

    请帮助我选择更好的方法,让我知道这样做的方法(特别是代码)。

    非常感谢:)

    (如果不合适,请编辑标题/文字)

1 个答案:

答案 0 :(得分:3)

尝试这样的事情

Intent i = new Intent();
    i.putExtra(EXTRA_KEY_ARTIST, id);
    i.setClass(this, ArtistActivity.class);
    i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
    startActivity(i);

这就是当您设置FLAG_ACTIVITY_SINGLE_TOP属性时,它不会启动新活动,但如果尚未销毁,则会显示您的活动(

但如果你的活动是开始活动,那么你可以像这样把它放在

 <activity
    android:name=".ArtistActivity"
    android:label="Artist"
    android:launchMode="singleTop">
</activity>