startactivityforresult
时间: 2023-09-05 16:05:01 浏览: 95
startActivityForResult
### 回答1:
`startActivityForResult()` 方法是用来启动新的 Activity 并返回结果给当前 Activity。使用此方法启动的 Activity 在完成时会自动回调 `onActivityResult()` 方法。
### 回答2:
startActivityForResult是Android中的一个方法,用于启动另一个Activity,并且可以获取从该Activity返回的结果。
当我们在一个Activity中需要启动另一个Activity,并且需要接收从目标Activity返回的结果时,就会使用startActivityForResult方法。在调用这个方法时,我们需要传入两个参数:一个是要启动的目标Activity的Intent对象,另一个是一个整数requestCode,用于标识这个请求。
目标Activity在完成其任务后,可以通过setResult方法将结果返回给调用它的Activity。这个结果可以是任何类型的数据,比如字符串、整数或者是一个包含多个数据的Bundle对象。
当目标Activity返回结果后,调用它的Activity的onActivityResult方法就会被调用。在onActivityResult方法中,我们可以根据requestCode来判断返回结果是来自哪个请求,然后通过resultCode来判断操作是否成功,最后通过data获取返回的结果数据。
通过startActivityForResult和onActivityResult这两个方法的配合使用,我们可以实现一些复杂的交互操作,比如从一个Activity中启动一个登录界面,并在登录成功后将登录的用户名返回给原来的Activity。
总之,startActivityForResult是一个非常实用的方法,可以方便地实现Activity之间的交互,并获取从目标Activity返回的结果。
### 回答3:
startActivityForResult是Android开发中的一个方法,它允许我们启动一个新的Activity,并希望在新的Activity关闭后获取返回的结果。
在我们调用startActivityForResult方法时,我们需要传入两个参数,分别是Intent对象和一个请求码。Intent对象用于描述我们要启动的新的Activity,可以包含一些额外的数据。请求码是一个整数值,用于唯一标识这个请求。
当新的Activity关闭后,会回调原来的Activity的onActivityResult方法。我们可以在这个方法中获取到返回的结果,包括返回的数据和一个结果码。
在新的Activity中,如果要返回结果给原来的Activity,可以使用setResult方法。这个方法接收两个参数,分别是结果码和包含返回数据的Intent对象。然后,在新的Activity关闭之前,需要调用finish方法来关闭当前Activity,并将结果返回给原来的Activity。
在原来的Activity的onActivityResult方法中,我们可以根据结果码来判断返回结果是否成功。然后,我们可以通过data参数来获取返回的数据,可以是一个字符串、整数、布尔值等等。
总之,startActivityForResult方法是Android开发中非常常用的一个方法,可以方便地在不同的Activity之间传递数据,并获取返回的结果。通过这个方法,我们可以实现很多复杂的业务逻辑,比如登录、选择照片等等。
阅读全文