【问题标题】:Remove Activities from Stack从堆栈中删除活动
【发布时间】:2013-08-11 13:01:33
【问题描述】:

Main中,有启动按钮AX

          /--> A --> B
         / 
    Main
         \
          \--> X 

B 中有一个按钮,可以从B --> X 获取它。如果发生这种情况,应将AB 从活动堆栈中删除,以便在X 中按back 返回到Main

【问题讨论】:

  • 好的。如果您从 B 返回,您想显示 A 或 Main 什么活动??
  • 从B返回应该返回A

标签: android android-activity stack lifecycle


【解决方案1】:

Activity X上试试这个

@Override
public void onBackPressed(){
Intent i = new Intent(X.this, Main.class);
i.setFlags(FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i); 
}

它将清除 Activity Stack 并启动 Main Activity。因此,如果您从Activity B 回推,它会转到Activity A。回到Activity X 将启动您的Main Activity,而您的堆栈中没有历史记录。

【讨论】:

  • @codeMagic 是的,如果他从活动 X 中按回来会发生什么。他最终会进入活动 B。我说的对吗?
  • 我投了赞成票,但那是在我看到 user2668298 的另一个答案之前。那个可能会更好;)
猜你喜欢
  • 2010-12-26
  • 1970-01-01
  • 2012-12-16
  • 2018-08-29
  • 1970-01-01
  • 1970-01-01
  • 2014-05-07
  • 1970-01-01
相关资源
最近更新 更多