【问题标题】:How to come from 5th to 2nd Activity?如何从第 5 次活动到第 2 次活动?
【发布时间】:2020-05-07 14:56:28
【问题描述】:

我的项目A、B、C、D、E中有五个活动

活动顺序为 A -> B -> C -> D -> E

我需要在活动 E 中按下按钮,它应该转到活动 B

我不想启动活动 B 我想要活动 B 中的数据

我的代码在按钮上点击 Activity E

Intent(this, B::class.java).apply {
            startActivity(this)
        }
        finish()

【问题讨论】:

  • 不知道对不对,B活动之后的每一个活动都可以用startActivityForResult
  • 是的,最后我只使用了 startActivityForResult .. 但是还有其他选择吗?喜欢为意图对象设置标志?
  • 你可以用fragment代替

标签: android kotlin android-intent android-activity


【解决方案1】:

您可以使用Intent.FLAG_ACTIVITY_CLEAR_TOP 标志。

val intent = Intent(this,  B::class.java).apply {
        flags = Intent.FLAG_ACTIVITY_CLEAR_TOP
        startActivity(this)
}

如果您将其标志设置为意图,并且活动 B 已经在当前任务中运行,则不会启动 B 活动的新实例,而是关闭它之上的所有其他活动(在您的情况下C、D、E 活动),这个 Intent 将作为新的 Intent 传递给 B 活动。

另见https://developer.android.com/reference/android/content/Intent#FLAG_ACTIVITY_CLEAR_TOP

【讨论】:

    【解决方案2】:
    val intent = Intent(this,B::class.java)  
    startActivity(intent)
    

    您可以使用它来代替您的代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-30
      • 1970-01-01
      相关资源
      最近更新 更多