《Android 开发入门与实战(第二版)》——6.8节启动Activity并得到结果

    xiaoxiao2023-06-24  172

    本节书摘来自异步社区《Android 开发入门与实战(第二版)》一书中的第6章,第6.8节启动Activity并得到结果,作者eoe移动开发者社区 组编 , 姚尚朗 , 靳岩,更多章节内容可以访问云栖社区“异步社区”公众号查看

    6.8 启动Activity并得到结果Android 开发入门与实战(第二版)在Activity中,你可以调用startActivity(Intent)方法被用来启动一个新的Activity,并将这个新的Activity置于Activity栈的最顶部。但是有时候,你却可能希望当一个Activity结束时从这个被结束的Activity中得到一个返回结果,例如,你可能启动了一个Activity让用户在联系人名单上选择一个人,当这个Activity结束时,它返回这个被选中的人给你。为了做到这个,你可以调用startActivityForResult(Intent,int),结果将会通过onActivityResult(int,int,Intent)方法返回。

    当一个Activity退出时,它可以调用setResult(int)将数据返回到它的父类,当然,它也必须要提供一个结果代码,可以是标准的结果代码RESULT_CANCELED,RESULT_OK,或者任何其他自定义起始于RESULT_FIRST_USER值。另外,也可以返回一个带有你想要的附加数据的Intent。所有的这些信息会随着最初提供的整数标识符显示回父类的Activity.onActivityResult()方法中。

    如果子Activity因为任何原因失败了(比如报错了),父Activity就会收到一个结果代码RESULT_CANCELED。

    最新回复(0)