【问题标题】:Android history only for 1 activity仅针对 1 个活动的 Android 历史记录
【发布时间】:2011-05-26 00:29:23
【问题描述】:

我想知道是否可以在历史记录中只保留每个活动中的一项?我有类似标签的界面,当用户在活动之间切换时,它会在历史记录中记住它们。

我尝试了 noHistory 属性,但它会导致活动根本不进入历史。 理想情况下,我希望有历史,但让它像这样工作:

场景: Act1->Act2->Act1->Act2

在“标准”设置中单击“返回”时,它会像这样展开 Act1->Act2->Act1->GONE

在“noHistory”模式下,当点击“返回”时,它将是: 消失了

我只想要堆栈中每个副本的 1 个副本,因此它将是: 第一幕->过去了

可能吗?

【问题讨论】:

    标签: android


    【解决方案1】:

    当您拨打startActivity() 时,请将FLAG_ACTIVITY_REORDER_TO_FRONT 添加到Intent。这将重用您现有的活动实例。

    【讨论】:

    • 谢谢!但是我遇到了另一个问题。我用 putExtra 调用活动,当我将 setFlags 添加到意图时,这些数据会丢失。我如何使用两者?编辑:实际上,我知道为什么,这是具有不同输入的相同活动。我希望活动重新开始并保持领先。现在它只是拉动该活动并将其重新排序到顶部,但我无法传递参数来刷新
    • @katit:为此,您可能需要切换到FLAG_ACTIVITY_CLEAR_TOP|FLAG_ACTIVITY_SINGLE_TOP 而不是FLAG_ACTIVITY_REORDER_TO_FRONT
    【解决方案2】:

    看看这个:

    http://developer.android.com/guide/topics/manifest/activity-element.html#lmode

    我想你可能想要

    android:launchMode="singleTop"

    如果我正确理解您的需求,请在您的活动清单中

    【讨论】:

      猜你喜欢
      • 2013-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多