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

android activity 开启 数据传递

2016-03-27 07:52 405 查看
1、只需在firstActivity中,传值给secondActivity

1.1、在传值的Activity中:
String data = "Hello SecondActivity";
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("extra_data", data);
startActivity(intent);

1.2 在接收的Activity中

Intent intent = getIntent();
String receiveString = intent.getStringExtra("extra_data");

2、在firstActivity中开启secondActivity,并需要secondActivity回传值的情况

2.1 在firstActivity中用starActivityForResult()开启secondActivity

Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
startActivityForResult(intent, 1);

//参数1,表示是哪个Activity返回的数据,需要在onActivityResult()中判断

2.2 在secondActivity中
Intent intent = new Intent();
intent.putExtra("data_return", "Hello FirstActivity");
setResult(RESULT_OK, intent);

//setResult()函数的第一个参数对应操作结果,一般取RESULT_OK,RESULT_CANCEL

2.3 在firstActivity中,重写onActivityResult()函数,用于接收处理结果,和返回的数据
protected void onActivityResult(int requestCode, int resultCode, Intent data){
switch (requestCode) {
<span style="white-space:pre"> </span>case 1:
<span style="white-space:pre"> </span>if (resultCode == RESULT_OK) {
<span style="white-space:pre"> </span>String returnedData = data.getStringExtra("data_return");
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>break;
<span style="white-space:pre"> </span>default:
}
}

//requestCode对应startActivityForResult(intent, 1)中的1,表示返回数据的是哪个Activity;

resultCode对应setResult(RESULT_OK, intent)的第一个参数,表示操作返回的结果;

data对应返回数据的intent;

2、在firstActivity中开启secondActivity,并需要secondActivity回传值的情况

2.1 在firstActivity中用starActivityForResult()开启secondActivity
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: