Kat*_*lon 29 android android-intent android-activity
我不理解RESULT_FIRST_USER的含义,价值或重要性,除了我自己的结果代码必须大于1.有人请解释一下吗?RESULT_OK和RESULT_CANCELED对于说英语的人来说非常有意义.但是android的世界里有什么是RESULT_FIRST_USER?所有文件都说明了这一点
Start of user-defined activity results.
Run Code Online (Sandbox Code Playgroud)
Avi*_*mer 13
这个问题的答案实际上是来自@CommonsWare和@Chris的评论的组合.因此,为了后代,我将巩固评论并在一个地方提供.
基本上,有两个预定义的常量requestCode,它们是Activity.RESULT_OK和Activity.RESULT_CANCELLED.但是,Android开发人员还可以使用偏移量为其应用设置自定义代码Activity.RESULT_FIRST_USER.这样做可确保在操作系统级别和应用程序级别设置的常量之间不会发生冲突.
纯粹,我认为,我认为FIRST USER后缀是指开发人员 - 就像最终消费者如何引用所述产品的消费者一样 - 谁是应用用户之前的第一批用户.
以下是如何使用此偏移量的示例,
public static final int MY_RESULT_CODE = Activity.RESULT_FIRST_USER + 1;
Run Code Online (Sandbox Code Playgroud)
小智 11
当一个活动结束时,它可以调用setResult(int)将数据返回给它的父项.
它必须始终提供结果代码,这可以是标准结果
RESULT_CANCELED (标准活动结果:操作取消.常数值:0)RESULT_OK(标准活动结果:操作成功.常量值:-1),或从RESULT_FIRST_USER(用户定义的活动结果开始.常量值:1)开始的任何自定义值.此外,它还可以选择返回包含所需的任何其他数据的Intent.因此,由于你必须提供结果代码Android,因此你可以说"帮助"一下:请说明这个活动的结果代码是否正常,取消或者你有自己定制的结果.
当您完成一个活动时,您可以调用setResult(RESULT_CODE)将数据发送回另一个活动。如果您不调用此方法,则默认值将为RESULT_CANCELLED(等于0)
返回数据示例:
Intent intent= new Intent();
intent.putExtra("data",data);
setResult(YOUR_RESULT_CODE,intent);
finish();
Run Code Online (Sandbox Code Playgroud)