【问题标题】:How to start an activity twice?如何开始一个活动两次?
【发布时间】:2011-11-21 17:17:32
【问题描述】:

我有一个活动 A。从那里,您可以在 UI 中单击并转到具有 ListView 等内容的活动 B。在活动 B 中,我有一个菜单可以将我带到活动 C。在该活动 C 中,我有另一个菜单可以将我带到 NEW 活动 B,其 ListView 将根据我所做的填充活动C。

这是我的问题。我无法让活动 B 从活动 C 重新启动。它唯一要做的就是返回到上一个活动 B(就像在活动 C 中按下后退按钮一样)。

综上所述,我希望能够拥有以下一堆活动:

A -> B > C -> B

但是,我无法到达第二个 B。每次我尝试从 C 开始一个新的活动 B 时,它只会让我回到第一个活动 B 并且列表视图未填充。

我错过了什么吗?


活动 C 到 B 的代码

 Intent i = new Intent(thisContext, B.class); 
 thisContext.startActivity(i); 

PS:这里的thisContext是activity C的上下文,我在activity C自己的构造函数中赋值,像这样:

public C() { 
    this.thisContext = this; 
} 

【问题讨论】:

  • 你能贴出 C 中启动活动 B 的代码吗?
  • 你可以在活动 B 中使用 StartActivityForResult() .... 将 C 作为子活动...nice example
  • 克里斯,我已经用代码编辑了我的问题。谢谢!
  • @android_hungry 谢谢老兄。我用 startActivityForResult 的方法替换了我所有的 startActivity 方法,它起作用了!非常感谢!
  • 所以我应该把它作为答案发布......你可以接受它

标签: android android-intent android-activity stack


【解决方案1】:

你可以在活动B中使用startActivityForResult() ....将C作为子活动...

nice example explained here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-12
    相关资源
    最近更新 更多