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

Android之Intent传递数据的方式

2016-01-07 09:05 399 查看
学习了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,否则获取不到数据。

效果图:



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

本人小菜鸟,如果有不对的地方,希望大牛们指出来,我会修正的,谢谢~~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: