多个Ativity值传递FLAG_ACTIVITY_FORWARD_RESULT
2016-03-03 18:19
281 查看
需求场景为A——>B——>C 三个跳转
1.a将数据交给b处理
2.b处理完数据(finish())
3.b处理完数据 结果传给c来加工,c处理完把结果返回给a
数据处理中间层b启动c要加上
FLAG_ACTIVITY_FORWARD_RESULT主要作用:
如果设置,并且这个Intent用于从一个存在的Activity启动一个新的Activity,那么,这个作为答复目标的Activity将会传到这个新的Activity中。这种方式下,新的Activity可以调用setResult(int),并且这个结果值将发送给那个作为答复目标的Activity。
link:Flags列表
A界面
B界面
C界面
1.a将数据交给b处理
2.b处理完数据(finish())
3.b处理完数据 结果传给c来加工,c处理完把结果返回给a
数据处理中间层b启动c要加上
intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
FLAG_ACTIVITY_FORWARD_RESULT主要作用:
如果设置,并且这个Intent用于从一个存在的Activity启动一个新的Activity,那么,这个作为答复目标的Activity将会传到这个新的Activity中。这种方式下,新的Activity可以调用setResult(int),并且这个结果值将发送给那个作为答复目标的Activity。
link:Flags列表
A界面
/** * Created by qinwei on 2016/3/3 17:44 * email:qinwei_it@163.com */ public class AActivity extends BaseActivity { @Override protected void setContentView() { setContentView(R.layout.a0); } @Override protected void initializeData() { } public void goB(View v){ Intent intent=new Intent(this,BActivity.class); startActivityForResult(intent,200); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(resultCode==RESULT_OK){ TextView mLabel = (TextView) findViewById(R.id.mLabel); mLabel.setText(data.getStringExtra("data")); } } }
B界面
/** * Created by qinwei on 2016/3/3 17:44 * email:qinwei_it@163.com */ public class BActivity extends BaseActivity { @Override protected void setContentView() { setContentView(R.layout.a1); } @Override protected void initializeData() { } public void goC(View v){ Intent intent=new Intent(this,CActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); startActivity(intent); finish(); } }
C界面
/** * Created by qinwei on 2016/3/3 17:44 * email:qinwei_it@163.com */ public class CActivity extends BaseActivity { @Override protected void setContentView() { setContentView(R.layout.a2); } @Override protected void initializeData() { } public void goA(View v){ Intent intent=new Intent(); EditText editText = (EditText) findViewById(R.id.editText); intent.putExtra("data",editText.getText().toString().trim()); setResult(RESULT_OK,intent); finish(); } }
相关文章推荐
- Android 6.0 运行时权限处理完全解析
- 如何在Androdi Studio中获取SHA1数字签名和MD5
- VLAN技术介绍
- 人脸数据库汇总
- 北大计算所词性标注集简表
- Java集合之LinkedList
- HDU 2803 The MAX [Ad Hoc]
- MAKEFILE 学习笔记 —— 实用功能
- Jenkins安装
- 给REST接口做鉴权认证:OAuth
- mysq 为什么采用 B+ tree B+树 原因
- DZNEmptyDataSet框架简介
- 可编辑可自动匹配的联动下拉框实现
- 真机报错:dyld`dyld_fatal_error: -> 0x120085088 <+0>: brk #0x3
- jedis连接不上redis,sentinel报错
- The 9th Zhejiang Provincial Collegiate Programming Contest->Problem :K-Yet Another Story of Rock-pap
- Oracle Cursor详解与实例
- 对搜狗提供的中文语料库进行文本分词过程中的java笔记
- 获取对象类型(swift)
- The 9th Zhejiang Provincial Collegiate Programming Contest->Problem :K-Yet Another Story of Rock-pap