gpt4 book ai didi

Android:requestCode 和 resultCode

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:02:03 27 4
gpt4 key购买 nike

我想知道我是否正确理解了 requestCode 和 resultCode 的概念?基本上,我有一个与 Activity 关联的任意整数(requestCode)。例如,在 Notepad tutorial , 我们有

private static final int ACTIVITY_CREATE=0;
private static final int ACTIVITY_EDIT=1;

然后我们使用 startActivityforResult(intent, requestCode) 来启动一个 Activity ,例如“创建笔记” Activity 。我们在那个 Activity 中做了一些事情并返回了一个 resultCode。

在父 Activity 中,我们使用 onActivityResult(requestCode, resultCode, intent) 检测 resultCode。然后,我们可以使用 requestCode 查看正在返回的 Activity ,使用 resultCode 查看该 Activity 的结果,并使用 Intent 的“额外”获取返回的数据。


内置的结果代码有什么特别之处吗,比如 RESULT_CANCELED? documentation on the developer site似乎暗示内置结果只是整数。

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

最佳答案

Is there anything special about the built-in resultCodes, like RESULT_CANCELED? The documentation on the developer site seems to suggest that the built-in results are simply integers.

是的。这些代码是“标准”响应。例如,如果您启动的 Activity 返回 RESULT_CANCELED(特别是操作系统 Activity 或标准应用程序,如相机),则表示该 Activity 已取消。这些标准结果应根据文档进行解释。事实上,除非有充分的理由不这样做,否则您的 Activity 应该使用这些标准结果(以便其他应用开发者可以更轻松地开始您的 Activity )。

And it seems to me that this could get really messy? For example, if I had 10 possible activities to launch, then I'd have to have a giant onActivityResult function to check which activity's being returned, wouldn't I?

是的。使用 switch 语句来处理这些。

关于Android:requestCode 和 resultCode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6985946/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com