Android-Intent(Activity 跳转全解)

1.回顾 

   上篇学习了 安卓的 五大布局;

2.知识点- Intent

   (1)普通跳转  (startActivity)

   (2) 带参数跳转 (startActivity)

   (3) 带返回值 跳转 (startActivityForResult)

3.普通跳转

    3.1 正常写法:

Intent intent=new Intent(MainActivity.this,FristActivity.class);
        startActivity(intent);
    

    3.2 一行写法:

startActivity(new Intent(MainActivity.this,FristActivity.class));



    3.3 声明上下文写法:

	private Context context;


        在OnCreate里 赋值

	context=MainActivity.this;


         后再Intent 里调用

startActivity(new Intent(context,FristActivity.class));



4.带参数跳转

   4.1 简单的参数

	Intent intent=new Intent(MainActivity.this,FristActivity.class);
				intent.putExtra("yuan","ming");
                startActivity(intent);


   4.2 多个参数借助 Buddle

Intent intent=new Intent(MainActivity.this,FristActivity.class);
				Bundle bundle=new Bundle();
				bundle.putString("name","yuan");
				bundle.putInt("age", 23);
				intent.putExtra("data", bundle);
				startActivity(intent);



   4.3 接收参数 

   在第二个 Activity 里,通过 Intent 接收参数值:

    Intent intent=getIntent();
		Bundle bundle= intent.getBundleExtra("data");
		tv_frist.setText(bundle.getString("name")+" | "+bundle.getInt("age"));



5. 带返回值的跳转

  5.1 startActivityForResult 参数

     第一个参数是:intent 对象

     第二个参数是:requestCode 请求标示 int 类型

Intent intent=new Intent(MainActivity.this,FristActivity.class);
				
				startActivityForResult(intent, 1);


  5.2 重写onActivityResult 方法

      在要执行跳转的Activity ,重写 onActivityResult 方法;参数为:

      会发现 这里也有 requestCode 和 发生跳转时设置的 requestCode 标示;

*
	 * startActivityForResult 跳转 有返回值 ,重写onActivityResult(non-Javadoc)
	 * 第一个参数:requestCode 请求标识
	 * 第二个参数:resultCode 第二个页面返回的标识
	 * 第三个参数:data  返回的数据
	 * @see android.app.Activity#onActivityResult(int, int, android.content.Intent)
	 */
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		super.onActivityResult(requestCode, resultCode, data);
		if(requestCode==1&&resultCode==2){
			String text=data.getStringExtra("data");
			show(text);
			tv_mian.setText(text);
		}
		
	}


   5.3 设置返回值

  在第二个Activity 中通过 setResult()方法实现 参数回传(参数 其实是封装在 Intent 对象里的 ):

		setResult(resultCode, data);

   参数:

   第一个参数:resultCode 和 上面 上一个Activity 里中重写的OnActivityResult 中一样,作为标示,来自这个Activity

   第二个参数:是 封装数据的Intent 对象 ,刚刚好是重写的第三个参数

   比如:

                          Intent data=new Intent();
			   data.putExtra("data","原明卓");
			   setResult(2, data);
			   //结束当前页面
			   finish();


6.demo 免积分下载

http://download.csdn.net/detail/lablenet/9036923


  












评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值