【问题标题】:Finishing (or Accessing) a specific Activity in Android在 Android 中完成(或访问)特定的 Activity
【发布时间】:2010-12-01 18:25:49
【问题描述】:

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

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

据我所知,有两种方法可以做到这一点:

  1. 按下该控件时,从视图堆栈底部弹出主屏幕并将其推送到其顶部。
  2. 按下控件时,开始弹出每个当前屏幕,直到主屏幕变为当前屏幕。

我知道在 Android 中至少有一些方法可以做到这一点,或者类似的事情。 我只是不记得是什么了。

请帮我选择更好的方法,并让我知道如何做(具体是代码)。

非常感谢:)

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

【问题讨论】:

    标签: android android-2.2-froyo


    【解决方案1】:

    试试这样的

    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>
    

    【讨论】:

    • 我可以清楚地理解代码,但无法理解 XML 部分在清单中的含义,以及它有用的场景。顺便说一句,非常感谢! :-)
    • 如果您的活动是第一个活动,则没有其他地方可以使用代码设置此单顶,而是使用 android manifest.xml,您必须使用此 xml
    • 嗨,ingsaurabh,我想知道当我在活动到达顶部后按返回键时会发生什么...... :)
    • 显示调用此活动的最后一个活动,但这完全取决于您如何维护活动
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-03
    • 2013-07-03
    • 2014-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多