android activity 开启 数据传递

来源:互联网 发布:如何找钢琴老师 知乎 编辑:程序博客网 时间:2024/06/16 08:50
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
0 0
原创粉丝点击