startActivityForResult函数参数说明

来源:互联网 发布:中国富人区 知乎 编辑:程序博客网 时间:2024/05/17 11:56
startActivityForResult(Intent intent,int RequestCode)用于启动另一个activity并等待其返回的结果,毋庸置疑,intent用于启动目标activity,而RequestCode的作用是什么呢?
由于每个activity都可以启动任意的子activity并等待结果,而结果处理函数只有一个--onActivityResult(int requestCode, int resultCode, Intent intent),因此为了区别请求的事件,android将每个请求设定一个大于等于0的int值,这就是requestcode。例如,在同一个Acitivity中,有A、B两个按钮,点击这两个按钮进入不同的Activity,这两个按钮接收的返回值是不同的,所以,在点击A、B两个按钮时必须分别使用startActivityForResult(intent,RequestCodeA)、startActivityForResult(intent,RequestCodeB),由此,在onActivityResult函数中即可利用requestCode区别开不同的返回结果。
onActivityResult中的resultCode参数对应于子模块中setResut(int resultCode, Intent intent)函数中的resultCode值,用于区别不同的返回结果(如请求正常、请求异常等)。
对应流程:
母模块startActivityForResult--触发子模块,根据不同执行结果设定resucode值,最后执行setResut并返回到木模块--母模块触发onActivityResult,根据requestcode参数区分不同子模块
0 1
原创粉丝点击