Android:requestCode和resultCode

Tia*_*ong 11 android startactivityforresult

我想知道我是否正确理解requestCode和resultCode的概念?基本上,我有一个与活动相关的任意整数(requestCode).例如,在记事本教程中,我们有

private static final int ACTIVITY_CREATE=0;
private static final int ACTIVITY_EDIT=1;
Run Code Online (Sandbox Code Playgroud)

然后我们使用startActivityforResult(intent,requestCode)来启动一个活动,例如"创建笔记"活动.我们在该活动中执行某些操作并返回resultCode.

在父活动中,我们使用onActivityResult(requestCode,resultCode,intent)检测resultCode.然后我们可以使用requestCode来查看返回的活动,使用resultCode查看该活动的结果,以及使用intent的"extras"来获取返回的数据.


内置的resultCodes有什么特别之处,比如RESULT_CANCELED吗?在开发人员网站上的文件似乎表明,内置的结果仅仅是整数.

在我看来,这可能会变得非常混乱?例如,如果我有10个可能的活动要启动,那么我必须有一个巨大的 onActivityResult函数来检查返回哪个活动,不是吗?

Jam*_*Lim 12

内置的resultCodes有什么特别之处,比如RESULT_CANCELED吗?开发人员网站上的文档似乎表明内置结果只是整数.

是.这些代码是"标准"响应.例如,如果您启动的活动返回RESULT_CANCELED(特别是OS活动或标准应用程序,如相机),则表示活动已取消.应根据文档解释这些标准结果.事实上,您的活动应该使用这些标准结果(以便其他应用程序开发人员更容易开始您的活动),除非有充分的理由不这样做.

在我看来,这可能会变得非常混乱?例如,如果我有10个可能的活动要启动,那么我必须有一个巨大的onActivityResult函数来检查返回哪个活动,不是吗?

是.使用switch语句来处理这些.