关闭activity,intent如何添加extras
时间: 2023-06-24 18:03:49 浏览: 74
要关闭一个Activity并添加extras,可以使用以下代码:
```
Intent intent = new Intent();
intent.putExtra("key", value);
setResult(Activity.RESULT_OK, intent);
finish();
```
在这里,我们首先创建一个新的Intent对象,并使用`putExtra()`方法添加所需的额外数据。然后,我们通过调用`setResult()`方法将结果代码和intent一起返回给调用方Activity。最后,我们调用`finish()`方法关闭当前Activity。
相关问题
if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) { // 将照片路径保存在 Bundle 中 Bundle extras = new Bundle(); extras.putString("photo_path", mCurrentPhotoPath); // 启动新的 Activity 并传递 Bundle Intent intent = new Intent(this, NewActivity.class); intent.putExtras(extras); startActivity(intent);这段代码中intent.putExtras(extras)标红是为什么,怎么解决
这里标红的原因是 `Intent` 类中的 `putExtras()` 方法需要传入一个 `Bundle` 类型的参数,而你传入的是一个 `Bundle` 对象的引用。这种情况下,可以将 `extras` 直接传入 `Intent` 的构造方法中,如下所示:
```
Intent intent = new Intent(this, NewActivity.class);
intent.putExtra("photo_path", mCurrentPhotoPath);
startActivity(intent);
```
或者使用 `putExtra()` 方法,传入键值对的方式:
```
Intent intent = new Intent(this, NewActivity.class);
intent.putExtra("photo_path", mCurrentPhotoPath);
startActivity(intent);
```
这两种方式都可以正确地传递数据到新的 Activity 中。
intent能否多次在activity间传递数据
可以的,intent可以通过设置数据和extras来在多个activity之间传递数据。你可以在一个activity中通过intent.putExtra()方法将数据存储在intent中,然后在另一个activity中通过intent.getExtras()方法获取这些数据。这样就可以实现activity之间的数据传递。