Activity的通常的两种跳转方式

    
     Activity的三种状态
     Activity的跳转
          通常有两种跳转:1.startActivity无返回数据的跳转,
                          2.startActivityForResult(intent,int requestCode)有返回数据的跳转
                                  2.1  在SecondActivity中通过 setResult(RESULTCODE, intent);设置返回的数据
                                  2.2  在FirstActivity中重写 onActivityResult()方法可以拿到返回的数据


 1.示范代码:FirstActivity 跳转到 SecondActivity                      
                            
		// 按钮监听事件
		bt_jump.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				// 跳转到SecondActivity并传值
				Intent intent = new Intent(FirstActivity .this , SecondActivity.class);  
				Bundle bundle = new Bundle();
				bundle.putString("name", "张三");
				bundle.putInt("age", 21);
				intent.putExtras(bundle); // 传递一个bundle
				startActivity(intent);  // 第一种:无返回数据的跳转

				// startActivityForResult(intent, REQUESTCODE);  //第二种:有返回数据的跳转,REQUESTCODE是请求码

			}
		});


    2. 示例代码:	
                         
        2.1  在SecondActivity中通过 setResult(RESULTCODE, intent);设置返回的数据     
    public void backToMain(View view){
		Intent intent = getIntent();
		Bundle bundle = new Bundle();
		bundle.putString("msg", "secondActivity返回的值");
		intent.putExtras(bundle);
		setResult(RESULTCODE, intent); //设置返回的参数
		finish();  //推出当前的activity
	}
                               

        2.2  在FirstActivity中重写 onActivityResult()方法可以拿到返回的数据
         // SecondActivity返回数据时,会触发该方法
         
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		// TODO Auto-generated method stub
		super.onActivityResult(requestCode, resultCode, data);

		if (requestCode == REQUESTCODE && resultCode == 101) {
			// 拿到返回的数据
			Bundle bundle = data.getExtras();
			String msg = bundle.getString("msg");
			Log.i("info", msg);
		}

	}
          
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值