Android后退按钮问题

时间:2011-07-07 10:17:43

标签: android button back

假设我的应用程序中有3个活动:A,B和C.应用程序的流程是:A - > B - >下进行。

一旦到了C,按下后退按钮将把用户带到B.如果用户再次按下后退按钮,他们到达A,最后如果他们再次按下它,他们会退出应用程序。

目标:当用户按下C上的后退按钮时,他们应该转到A并且 B,如果他们再次按下它,他们就会退出应用。

问题:当覆盖活动C上的后退按钮以启动活动A时,一切似乎都没问题。但是,如果用户再次按下后退按钮,则会返回活动C.然后按后退按钮只会在活动A和活动C之间切换。

我想Activity堆栈看起来像是:

  • 打开应用: A
  • 转到B: A,B
  • 转到C: A,B,C
  • 按回: A,B,C,A
  • 按回: A,B,C
  • 按回: A,B,C,A
  • 按回: A,B,C
  • 按回: A,B,C,A
  • 按回: A,B,C
  • 按回: A,B,C,A
  • ...等

因此,当按下C上的后退按钮时,似乎错误是启动一个新的Activity?无论如何,我可以提供有关如何实现此行为的建议。

谢谢, 千斤顶

2 个答案:

答案 0 :(得分:5)

您可以在活动B的finish()方法中添加onStop()

这样,当活动B不再可见时,它将被销毁并从堆栈中删除。

  • 打开应用: A
  • 转到B: A,B
  • 转到C: A,C
  • 按回: A
  • 按回:退出

答案 1 :(得分:2)

当您将活动B转到活动C时,首先完成活动B,然后转到活动C.

ex: -

finish();
Intent i2 = new Intent(Acttivity.B, Acttivity.C);
startActivity(i2);
相关问题