2015-10-20 123 views
0

在我的应用程序中,我想要控制硬件后退按钮。这意味着如果在我的应用程序中有四五个活动。现在假设我从一个活动移动到另一个活动,控制硬件后退按钮

像这样“start 1-> 2-> 3-> 4-> 2-> 4-> 1 end”在我的情况下,当我按下硬件后退按钮到达第1页以类似的方式,

“结束1 < -2 < -3 < -4 < -2 < -4 < -1启动”

所以我的问题是我应该做的,这样当我按下硬件后退按钮

第1页退出 第2页页面到达第1页(再次按下按钮)退出。

等等

4日前往页第3(后退按钮),2日(回)1日(回)退出。

+1

覆盖方法onbackButtonPressed(),做你想做的事不断,最好的Android取出从栈顶的活动所以什么都你称默认会实现。 – dex

回答

1

有一种方法onBackPressed()。您可以在您的活动中重写该方法来实现此目的。

@Override 
public void onBackPressed() 
{ 
    Intent go=new Intent(this.class,your_desired_activity.class); 
    startActivity(go); 
    super.onBackPressed(); 
} 
+0

Thx这么多,它的工作... – nik1993

0

启动活动withActivity标志清除顶部,以便堆栈顶部的每个活动都将被清除。

所以在情况下,如果你有明确的顶部启动你的活动2这个序列开始后 - > 1 < -2 < -3 < -4 < -

你的筹码将开始 - > 1 > 2

如果与之相似你劳克清晰顶部标志中的活动1此序列后开始 1-> 2-> 3-> 4-> 2-> 4-

您的堆将是STA RT-> 1

你可以阅读更多有关每一个活动的背面在这里堆 http://developer.android.com/guide/components/tasks-and-back-stack.html