我创建了两个屏幕,我将粘贴下面的代码。
`FirstScreen:` i have a button and when tap/click it will go to `SecondScreen`
`SecondScreen:` i have a button and when tap/click it will go to `FirstScreen`
//代码://
public class FirstScreen extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn = (Button)findViewById(R.id.btnPressMe);
btn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
startActivity(new Intent(Main.this, SecondScreen.class));
}
});
}
}
public class SecondScreen extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.secondscreen);
Button btn = (Button)findViewById(R.id.btnGoToThirdScreen);
btn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
//startActivity(new Intent(Main.this, SecondScreen.class));
//HOW DO I GOT TO FIRST SCREEN????
}
});
}
}
如果有更好的方法,请告诉我。 - 谢谢。
答案 0 :(得分:2)
如果你想返回到第一个活动,你只需要完成第二个活动,而不是创建第一个活动的新实例,这样就完成了:
public void onClick(View v) {
finish();
}
要从第一个活动开始第二个活动,您应该:
startActivity(new Intent(FirstScreen.this, SecondScreen.class));
答案 1 :(得分:1)
您可以致电finish()
而不是通过意图开始新的活动。在onDestroy()
关闭活动后调用finish()
。
如果您尝试通过意图返回,则还需要通过Intent.FLAG_ACTIVITY_CLEAR_TOP
设置setFlags()
标记,否则如果您在它们之间进行交换,则最终会在后台堆栈中进行大量活动。< / p>
除非你有充分的理由不这样做,否则你应该使用内置的后退按钮。
答案 2 :(得分:1)
在第二节课中,使用函数finish()。
答案 3 :(得分:0)
在第二个屏幕上按钮的onClick()中,只放一行:
完成();