android中使用startActivityForResult回传数据(二)
目的: A.java 是主界面,B.java 是子功能模块,要从A启动B,B干完活之后把结果汇报给A先看 A.java 的相关代码
//--?A.java?--///*?* 要做两件事情,第一是用?startActivityForResult(Intent intent,?Int requestCode)intent 传给B的,不解释,看不懂你还是玩玩手机算了,别想开发的事情了requestCode >=0就好,随便用于在onActivityResult()区别哪个子模块回传的数据,如果还有C.java ,D甚至E子模块的话,每个区分开不同的requestCode就好。
setResut(int resultCode, Intent intent)resultCode 如果B子模块可能有几种不同的结果返回,可以用这个参数予以识别区分。这里还有个特殊的 RESULT_OK 值,没有特殊情况用它就好了,sdk有说明的,呵。intent 继续不解释,传回给A的onActivityResult()
onActivityResult(int requestCode, int resultCode, Intent intent)这里三个都不用解释了,与上文对应的东西。如果不对requestCode和resultCode 加以识别区分的话,只要有其他activity setResult到了A ?onActivityResult()会无差别处理。
总结:2个Activity转换,A转B后,B返回参数A接受,A在onActivityResult方法里面根据requestCode来判断处理方法