Intent.FLAG_ACTIVITY_FORWARD_RESULT作用
来源:互联网 发布:python 爬虫 动态页面 编辑:程序博客网 时间:2024/06/05 02:24
Intent.FLAG_ACTIVITY_FORWARD_RESULT作用
适用情况
多个Activity的值传递。ActivityA到达ActivityB再到达ActivityC,但ActivityB为过渡页可以finish了,此时ActivityC将值透传至ActivityA。
代码实现
第一个页面:A跳到B
public class AActivity extends Activity{ @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); Button button=new Button(this); button.setText("B"); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(v.getContext(),BActivity.class); startActivityForResult(intent,1); } }); setContentView(button); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); System.out.println("A:" + (data == null ? data : data.getStringExtra("data"))); }}
过渡页:中间有再多过渡页也是一样。B跳到C
public class BActivity extends Activity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); Button button = new Button(this); button.setText("C"); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(v.getContext(), CActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); startActivity(intent); finish(); } }); setContentView(button); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); System.out.println("B:" + (data == null ? data : data.getStringExtra("data"))); }}
C传值然后在A的OnActivityResult中获取值
public class CActivity extends Activity{ @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); Button button=new Button(this); button.setText("result"); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(); intent.putExtra("data","data"); setResult(Activity.RESULT_OK,intent); finish(); } }); setContentView(button); }}
输出结果:
System.out: A:data
注意:中间页面不能调用startActivityForResult方法,否则回报android.util.AndroidRuntimeException: FORWARD_RESULT_FLAG used while also requesting a result。中间页面需要finish后前面页面才能收到返回结果。
阅读全文
0 0
- Intent.FLAG_ACTIVITY_FORWARD_RESULT作用
- intent作用
- 对FLAG_ACTIVITY_FORWARD_RESULT的处理
- Android Intent的作用
- Intent.FLAG_ACTIVITY_CLEAR_TASK没有作用
- Intent 属性的作用
- intent的作用
- Intent的作用
- intent,Intent-filter的概念和作用
- onNewIntent(Intent intent) 方法的作用
- 意图intent的作用一
- 意图intent的作用二
- Intent的作用(一)
- Intent有关的作用用法
- Intent对象(一)作用
- Android Intent action 的作用
- Intent的类型和作用
- android中intent的作用
- ECharts中国地图-- 省份文字居中
- 在MFC对话框中,如何让控件Static和Radio和CheckBox背景透明?
- excel求最大回撤
- Python基础学习(五)
- java泛型<? extends E>和<? super E>的区别和适用场景
- Intent.FLAG_ACTIVITY_FORWARD_RESULT作用
- 跳台阶java实现
- 使用wifi连接adb
- QT5.8+VS2015环境配置(全)
- Codeforces Round #430 (Div. 2) C. Ilya And The Tree 树dp 统计
- deeplin ( linux ) STS 中不能选择tomcat 的问题
- Tomcat Connector运行模式从bio方式改成nio方式
- oracle 备忘
- Prime Number(CodeForces