您的位置:首页 > 其它

两个,三个Activity之间的相互跳转

2016-12-13 15:22 363 查看
今天 在做一个快递选择地址的功能需要这样的情况. 切换选择收货地址的功能. 下图我是从京东上截图的,把货物添加到购物车上,然后选择地址.







效果图



 
 从左往右数,称为MainActivity,AActivity,BActivity. 他们的流程是下面这样样走的

 直接选择地址就是走这样的流程. MainActivity--->AActivity---->MainActivity 
 如果我没有设置地址或者地址需要修改,我就需要走这样的流程 MainActivity--->AActivity--->BActivity---->AActivity----->MainActivity

所以这里我做了一个demo:

流程1.直接选择地址就是走这样的流程. MainActivity--->AActivity---->MainActivity 

从MainActivity到AActivity,关键代码
@OnClick(R.id.btn_next)
public void onClick() {
Intent intent = new Intent(MainActivity.this, AActivity.class);
startActivityForResult(intent, TYPE_A);
}


然后AActivity回到MainActivity关键代码
private void backMainActivity(String text) {
Intent intent = new Intent();
intent.putExtra(FORM_ACT, text);
setResult(RESULT_OK, intent);
finish();
}




流程2. 如果我没有设置地址或者地址需要修改,我就需要走这样的流程 MainActivity--->AActivity--->BActivity---->AActivity----->MainActivity


从MainActivity到AActivity,关键代码 同流程1,就不说了

从AActivity到BActivity
Intent intent3 = new Intent(AActivity.this, BActivity.class);
startActivityForResult(intent3, B_ACTIVITY);


从BActivity到AActivity
private void backAActivity(String text) {
Intent intent = new Intent();
intent.putExtra(AActivity.FORM_ACT, text);
setResult(RESULT_OK, intent);
finish();
}


然后AActivity回到MainActivity关键代码,

if (RESULT_OK == resultCode) {
if (B_ACTIVITY == requestCode) {
String str = data.getStringExtra(FORM_ACT);
backMainActivity(str);
}
}

这里需要注意一下,我是返回到了AActivity中,再执行了返回MainActivity

代码地址:https://github.com/free-developer-king/MyDemo


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: