你的位置:首页 > 操作系统

[操作系统]基础之activity跳转


今天解决的问题是 activity的跳转。

目前我学习到的跳转的方式有2种

1. 用 setContentView()  方法

2. 用 Intent 对象

方法一:setContentView()

  该方法 不要求 目标activity 在 AndroidManifest.

如果跳转后,按返回键,不响应

 

代码如下,实现了   activity_main 和 activity_2 的来回切换

public class MainActivity extends Activity {//	StringBuffer mes=new StringBuffer();//	DisplayMetrics dm=null;	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_main);		Button btn2=(Button)findViewById(R.id.main_btn_2);		btn2.setOnClickListener(new Button.OnClickListener() {			@Override			public void onClick(View arg0) {				toActivity_2();			}		});	}		@Override	public boolean onCreateOptionsMenu(Menu menu) {		// Inflate the menu; this adds items to the action bar if it is present.		getMenuInflater().inflate(R.menu.main, menu);				return true;	}		public void toActivity_2(){		setContentView(R.layout.activity_2); //跳转到 目标activity_2		Button btn=(Button)findViewById(R.id.act2_btn_1); //获取activity_2 上的按钮act2_btn_1		btn.setOnClickListener(new OnClickListener() { //按钮事件监听			@Override			public void onClick(View arg0) {				 // 返回主界面activity_main				toActivity_main();			}		});	}		public void toActivity_main(){		setContentView(R.layout.activity_main); //跳转到 目标activity_main		Button btn=(Button)findViewById(R.id.main_btn_2); //获取activity_main上的按钮main_btn_2		btn.setOnClickListener(new OnClickListener() { //按钮事件监听			@Override			public void onClick(View arg0) {				 // 跳转到 activity_2				toActivity_2();			}		});			}}

  

 

方法二:Intent 

  layout 中activity 需要在 AndroidManifest.

每一次跳转都会被记录到返回键,所以返回键识别这个方法的跳转

activity_main 页面中的代码

public class MainActivity extends Activity {//	StringBuffer mes=new StringBuffer();//	DisplayMetrics dm=null;	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_main);		Button btn2=(Button)findViewById(R.id.main_btn_2);		btn2.setOnClickListener(new Button.OnClickListener() {			@Override			public void onClick(View arg0) {				intentToActivity_2();			}		});	}		@Override	public boolean onCreateOptionsMenu(Menu menu) {		// Inflate the menu; this adds items to the action bar if it is present.		getMenuInflater().inflate(R.menu.main, menu);				return true;	}		public void intentToActivity_2(){		Intent intent=new Intent();		intent.setClass(MainActivity.this, activity_2.class);		startActivity(intent);			}}

  

activity_2 页面中的代码

public class activity_2 extends Activity {	@Override	protected void onCreate(Bundle savedInstanceState) {		// TODO Auto-generated method stub		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_2);				Button btn=(Button)findViewById(R.id.act2_btn_1);		btn.setOnClickListener(new Button.OnClickListener() {						@Override			public void onClick(View arg0) {				Intent t=new Intent();				t.setClass(activity_2.this,MainActivity.class);				startActivity(t);			}		});					}	@Override	public boolean onCreateOptionsMenu(Menu menu) {		// TODO Auto-generated method stub		return super.onCreateOptionsMenu(menu);	}	}

  

 

以上就介绍了2种跳转方式,其中的好坏,暂时还说不上来,主要看应用场景。写的不好,但希望对像我刚学android的有点帮助!