数据传递或数据回传的关键代码是什么
时间: 2023-12-09 08:03:51 浏览: 38
在Android中,数据传递或数据回传的关键代码通常是Intent对象和startActivityForResult()方法。
当需要在Activity之间传递数据时,可以使用Intent对象,在Intent中添加需要传递的数据,然后调用startActivity()方法打开新的Activity。例如:
```
Intent intent = new Intent(this, NewActivity.class);
intent.putExtra("data", "Hello World!");
startActivity(intent);
```
在这个例子中,我们创建了一个Intent对象,并通过putExtra()方法添加了一个字符串类型的数据"data",然后调用startActivity()方法打开了一个名为NewActivity的新Activity。
当需要从打开的Activity中返回数据到原Activity时,可以使用startActivityForResult()方法打开新的Activity,并在新的Activity中使用setResult()方法设置返回的数据,然后在原Activity中重写onActivityResult()方法获取返回的数据。例如:
在原Activity中:
```
Intent intent = new Intent(this, NewActivity.class);
startActivityForResult(intent, 1);
```
在新Activity中:
```
Intent intent = new Intent();
intent.putExtra("result", "Hello World!");
setResult(RESULT_OK, intent);
finish();
```
在原Activity中重写onActivityResult()方法:
```
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1 && resultCode == RESULT_OK) {
String result = data.getStringExtra("result");
// 处理返回的数据
}
}
```
在这个例子中,我们在原Activity中使用startActivityForResult()方法打开了一个名为NewActivity的新Activity,并设置了一个请求码requestCode为1。在新Activity中,我们使用setResult()方法设置了一个返回码resultCode和一个包含返回数据的Intent对象,并使用finish()方法关闭了当前Activity。在原Activity中重写onActivityResult()方法,判断请求码和返回码是否匹配,并通过data.getIntExtra()方法获取返回的数据"data"。
通过这种方式,我们可以实现Activity之间的数据传递和回传,达到了数据交互的目的。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)