2012-04-02 114 views
1

我有3个活动正在运行,将a1导航到a2,然后将a2导航到a3。现在按下模拟器的按钮,我想在没有完成活动a2的情况下转到活动a1。如何执行此操作。提前活动生命周期问题

+0

请审阅以下链接可能帮助你 http://stackoverflow.com/questions/7790248 /如何完成活动从另一个活动 – 2012-04-02 07:25:01

回答

7

是的,你可以覆盖后退按钮

public void onBackPressed() { 

Intent start = new Intent(currentclassname.this,which activity u want.class); 
    startActivity(start); 
    finishActivity(0); 
} 

通过这个你可以在任何活动而移动。这是非常容易和简单的方式

3

me..Thanks试试这个在您的A3活动的返回键事件:

Intent intent = new Intent(this,A1.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent); 
+0

他希望活动a2未完成。上述解决方案(FLAG_ACTIVITY_CLEAR_TOP)是否不会从堆栈中删除a2。如果错了,纠正我。 – Deva 2012-04-02 07:08:33

+0

@Deva那么我认为他应该使用SINGLE_TOP。 – 2012-04-02 07:16:09

1

写这个东西在A3

@Override 
public void onBackPressed() { 
    // TODO Auto-generated method stub 
    Intent intent=new Intent(getApplicationContext(),a1.class); 
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    startActivity(intent); 

} 
0

你也可以在你的AndroidManifest.xml文件中实现这个,只需在你想要的那些地方添加android:noHistory =“true”属性即可。

0

在A2活性

您可以在此改变重启(),如下::

@Override 
protected void onRestart() { 
// TODO Auto-generated method stub 
super.onRestart(); 
startActivity(new Intent(getApplicationContext(),a1.class)); 
}