您的位置:首页 > 移动开发 > Android开发

Android Intent机制实现页面跳转的用法

2015-03-28 20:39 585 查看
今天培训学习了一下JSP的页面跳转,突然想起上个星期自学安卓的时候,有一个小案例也用到了安卓的页面跳转,今天记录下来。

在Android中我是使用的Intent。

用到了它的两种跳转方式,第一种就是没有返回值的跳转,第二种就是又返回值的跳转。

没有返回的跳转:

mContext=this;
		bt1=(Button) findViewById(R.id.button1_frist);
		
		//注册点击事件
		bt1.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				//第一个参数为上下文对象,第二个参数为目标文件
				Intent intent=new Intent(mContext, SActivity.class);
				startActivity(intent);
			}
		});
使用方法:

通过bt1 实现页面之间的跳转

* 1、startActivity 的方式来实现

* 2、初始化intent

* android.content.Intent.Intent(Context packageContext, Class<?> cls)

* 参数配置有两种方法,第一种方法使用类名.this的方法

* 第二种方法使用全局变量,然后对全局变量赋值为this

第二种就是有返回值的跳转:

bt2=(Button) findViewById(R.id.button2_second);
		tv=(TextView) findViewById(R.id.textView1);
		bt2.setOnClickListener(new OnClickListener() {
			
			public void onClick(View v) {
				Intent intent=new Intent(mContext, SActivity.class);
				/*
				 * startActivityForResult(intent, requestCode)
				 * 第一个参数:Intent对象
				 * 第二个参数:请求的一个标识
				 */
				startActivityForResult(intent, 1);
			}
		});


第二种方法startActivityForresult有返回值。需要有一个返回方法

//第二种方法startActivityForresult又返回值。需要有一个返回方法
	/*
	 * protected void onActivityResult(int requestCode, int resultCode, Intent data)
	 * requestCode,请求的标志
	 * resultCode,第二个页面返回的标志// 判断哪个页面返回的数据
	 * data,第二个页面回传的数据
	 */
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		
		super.onActivityResult(requestCode, resultCode, data);
		if(requestCode==1&&resultCode==2){
			String content=data.getStringExtra("data");
			tv.setText(content);
			
		}
		
	}


跳转的页面也需要设置自己的返回名和值

Intent data=new Intent();

data.putExtra("data", content);

setResult(2,data);

值得注意的是,requestCode resultCode的设置是为了更好的了解返回值的来源以及去向。

第二种方法startActivityForresult有返回值。需要有一个返回方法

* protected void onActivityResult(int requestCode, int resultCode, Intent data)

* requestCode,请求的标志

* resultCode,第二个页面返回的标志// 判断哪个页面返回的数据

* data,第二个页面回传的数据
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: