码迷,mamicode.com
首页 > 其他好文 > 详细

startActivityForResult用法

时间:2015-12-03 13:51:40      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:

//主界面中启动子模块

startActivityForResult(Intent intent, Int requestCode)

//主界面A中接收返回数据

onActivityResult(int requestCode, int resultCode, Intent intent)

//子模块中设置返回数据

setResut(int resultCode, Intent intent)

 

例子:

启动子模块

技术分享
Intent intent=new Intent();
intent.setClass(A.this, B.class);
Bundle bundle=new Bundle();
bundle.putString("data", "data");
intent.putExtras(bundle);
startActivityForResult(intent, 0);//requestCode一定要>=0,接收返回数据时用requestCode区分到底是哪个子模块返回的数据
技术分享

重写onActivityResult,用来接收子模块返回的数据

技术分享
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (resultCode) { //resultCode标记完成装态
   case RESULT_OK:
    if(requestCode==0){//根据requestCode区分是哪个子模块返回的数据然后进行相应的业务处理
    Bundle b=data.getExtras(); //data为B中回传的Intent
    String str=b.getString("data");//str即为回传的值,A界面可以进一步处理
}
    break;
default:
    break;
    }
}
技术分享

在子模块如B中回传数据使用setResut,之后调用finish()

setResult(RESULT_OK, intent); 
finish();//此处一定要调用finish()方法

startActivityForResult用法

标签:

原文地址:http://www.cnblogs.com/sweetyu/p/5015494.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!