您的位置:首页 > 其它

Activity之间startActivityForResult传递和接受数据

2017-03-05 12:09 429 查看

首先在Aactivity启动Bactivity

//                        如果没有登录 跳转到 登录界面
Intent intent = new Intent(getApplicationContext(), Bactivity.class);
// 传入数据到Bactivity
intent.putExtra(ConstantsString.INTENT_MAIN_LAST_CHECKED_ID, getLsatCheckedId());
startActivityForResult(intent, ConstantsNum.REQUEST_CODE_START_LOGIN_ACTIVITY);


在Bactivity中接受Aactivity的数据

//        获取跳转过来的 intent,然后获取里面传入的数据
lastCheckedId = getIntent().getIntExtra(ConstantsString.INTENT_MAIN_LAST_CHECKED_ID, -1);


在Bactivity中设置返回的数据

Intent intent = new Intent(Bactivity.this, Aactivity.class);
intent.putExtra(ConstantsString.INTENT_MAIN_LAST_CHECKED_ID, lastCheckedId);
// 第一个参数resultCode用于在A中判断是哪个activity返回的数据
setResult(ConstantsNum.RESULT_CODE_CANCLE_LOGIN, intent);
finish();


在Aactivity中onActivityResult获取B的结果

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//        resultCode  判断是从哪个activity来的
if (resultCode == ConstantsNum.RESULT_CODE_CANCLE_LOGIN) {
mMainRg.check(data.getIntExtra(ConstantsString.INTENT_MAIN_LAST_CHECKED_ID, 0));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐