[英]Android - Creating and managing activities
我创建了两个屏幕,我将粘贴下面的代码。
`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????
}
});
}
}
如果有更好的方法,请告诉我。 - 谢谢。
如果你想回到第一个活动,你只需要完成第二个活动,而不是创建第一个活动的新实例,这样做是这样的:
public void onClick(View v) {
finish();
}
要从第一个活动开始第二个活动,您应该:
startActivity(new Intent(FirstScreen.this, SecondScreen.class));
那么你可以调用finish()
而不是通过intent开始一个新的活动。 在finish()
关闭活动后调用onDestroy()
。
如果你试图通过意图返回,你还需要通过setFlags()
设置Intent.FLAG_ACTIVITY_CLEAR_TOP
标志, setFlags()
如果你在它们之间不断交换,你最终会在后面的堆栈中有很多活动。
你应该真的使用内置的后退按钮,除非你有充分的理由不这样做。
在第二个类中,使用函数finish()。
在第二个屏幕上按钮的onClick()中,只放一行:
完();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.