Android之Intent传递数据的方式

    学习了Android有一段时间了,我们经常会用到的就是启动另一个Activity,需要传递一些数据,记得刚开始学习Android时,那时啥都不知道,我在想怎么才能把数据传递给下一个页面的,那时感觉这个好神奇,废话不多说,带你们走进这神奇的世界。

  一、startActivity启动,向下一个Activity传递数据:

      在MainActivity代码如下:


	//设置将要跳转的Activity
	Intent intent=new Intent(MainActivity.this, FirstActivity.class);
	//获取输入的文本
	String num=etNum.getText().toString();
	//把数据放入到intent中
	intent.putExtra("number", num);
	//启动
	startActivity(intent);
  在FirstActivity中代码如下:

        //获取Intent
	Intent intent=getIntent();
	//从Intent里面获取数据
	String show=intent.getStringExtra("number");
	//显示数据
	showNum.setText(show);
 效果图如下:


 二startActivityForResult传递数据

 在FirstActivity中,代码如下:

 Intent intent = new Intent(FirstActivity.this, MainActivity.class);
	    startActivityForResult(intent, REQUEST);// REQUEST代表请求码
 在接收方MainActivity中

 //实例化一个intent
            Intent intent=new Intent();
	    //获取输入的文本
	    String num=etNum.getText().toString();
	    intent.putExtra("number", num);
	    //设置返回结果
	    setResult(RESULT_OK, intent);//RESULT_OK响应码
结果返回了,我们需要获取呀,这里我们就需要在FirstActivity。重写onActivityResult方法,来处理结果:

@Override
	protected void onActivityResult(int requestCode, int resultCode,
			Intent intent) {
		// 判断请求码
		if (requestCode == REQUEST) {
			// 判断响应码
			if (resultCode == RESULT_OK) {
				// 获取数据
				String num = intent.getStringExtra("number");
				showNum.setText(num);

			}

		}
		super.onActivityResult(requestCode, resultCode, intent);
	}

其中有个地方要注意就是请求码REQUEST必须大于等于0,否则获取不到数据。

效果图:


两种传递方式就是这么简单,是不是学习过后感觉,原本神奇的东西,你也可以做出来呀!!

本人小菜鸟,如果有不对的地方,希望大牛们指出来,我会修正的,谢谢~~~



  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值