使用startActivityForResult方法进行跳转相比使用startActivity方法有什么优势呢?
时间: 2024-05-23 16:10:14 浏览: 68
使用startActivityForResult方法进行跳转相比使用startActivity方法的优势在于可以获取被跳转页面的返回结果。当使用startActivityForResult方法进行跳转时,被跳转页面可以通过setResult方法设置返回结果,而跳转页面可以通过onActivityResult方法获取返回结果。这种方式适用于需要从被跳转页面获取数据的场景,例如在从相册中选择照片后返回照片数据。
相关问题
startActivityForResult()和startActivity()有何区别
startActivity()和startActivityForResult()都是用于启动一个新的Activity的方法,但它们之间有一些区别。
startActivity()方法只是简单地启动一个新的Activity,而不会返回任何结果。如果你想要从新的Activity中返回数据给原始Activity,你需要使用startActivityForResult()方法。当你使用startActivityForResult()方法启动一个新的Activity时,你可以在新的Activity中设置结果代码,然后在新的Activity中调用finish()方法来关闭它并返回结果给原始Activity。此时,原始Activity的onActivityResult()方法将被调用,你可以在这个方法中处理返回的结果。
因此,startActivity()方法适用于不需要返回结果的简单Activity跳转,而startActivityForResult()方法适用于需要从新的Activity中返回结果的情况。
在Android开发中,如何使用Intent进行Activity之间的跳转?请给出代码示例。
Intent在Android开发中扮演着重要的角色,它用于在不同组件之间传递消息,特别是在Activity之间的跳转。为了更直观地理解Intent的使用,可以参考这份宝贵的资源:《Android程序开发初级教程-水滴整理分享-永久免费(完整版).doc》。这份文档将为你提供详细的步骤和代码示例,帮助你快速掌握Activity间的跳转技术。
参考资源链接:[Android程序开发初级教程-水滴整理分享-永久免费(完整版).doc](https://wenku.csdn.net/doc/q82y01mfy7?spm=1055.2569.3001.10343)
在进行Activity跳转时,首先需要创建一个Intent对象,并通过调用`setClass()`或`setClassName()`方法指定当前和目标Activity。然后,可以调用`startActivity()`方法启动目标Activity。如果需要从目标Activity返回数据,可以使用`startActivityForResult()`方法,并在目标Activity中调用`setResult()`方法。以下是一个简单的代码示例:
```java
// 创建一个新的Intent,用于启动目标Activity
Intent intent = new Intent(CurrentActivity.this, TargetActivity.class);
// 启动目标Activity
startActivity(intent);
```
如果需要携带数据,可以使用`putExtra()`方法添加键值对数据:
```java
intent.putExtra(
参考资源链接:[Android程序开发初级教程-水滴整理分享-永久免费(完整版).doc](https://wenku.csdn.net/doc/q82y01mfy7?spm=1055.2569.3001.10343)
阅读全文