依次打开Activity A1--A2--A3--A4 这时候你如果想从第四个返回到第一Activity 的时候,就用到了startActivityForResult 这个方法了。
startActivityForResult(intent, requestCode)
复制代码
两个参数 一个是第一好的意图对象,另一个是请求代码。
A1 的 intent 定义是
Intent intent = new Intent(); intent.setClass(this,A2.class);
复制代码
指定一个 int 作为 requestCode 比如 startActivityForResult(intent, 1);
A2 的 intent 定义是
Intent intent = new Intent(); intent.setClass(this,A3.class);
复制代码
指定一个 int 作为 requestCode 比如 startActivityForResult(intent, 1);
A3 的 intent 定义是
Intent intent = new Intent(); intent.setClass(this,A4.class);
复制代码
指定一个 int 作为 requestCode 比如 startActivityForResult(intent, 1);
A4 添加一个返回按钮 点击的事件里写
public void 点击事件{
//this.setResult(int resultCode)
this.setResult(10)
this.finish();
}
复制代码
这时候点击A4的返回按钮时候,先设置 resultCode 给上一个 A3 来判断,然后关闭A4
关闭A4触发A3里面的方法,onActivityResult(int requestCode, int resultCode, Intent data)
在这个方法里面做判断就行了。
前两个参数分别是 我们设置的 requestCode 和 resultCode
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 1&& resultCode == 10){
this.setResult(10);
this.finish();
}
}
复制代码
此方法先匹配 requestCode 和 resultCode 然后设置 resultCode 在关闭A3,想同的道理关闭A2
这样就返回A1了。
分享到:
相关推荐
startActivityForResult过时.md
使用startActivityForResult回传数据
介绍了StartActivityForResult的运用,并总结了一些问题及答案,可供初学者参考,代码无误,放心运行!
startActivityForResult
3个方法的介绍和使用 startActivityForResult(Intent intent, int requestCode ) onActivityResult(int requestCode ,int resultCode, Intent data) setResult(int resultCode,intent intent)
Android之Intent通过startActivityForResult方法启动新Activity
一种 startActivityForResult 更简单流程
startActivityForResult获得通讯录中电话信息
关于startActivity被大家忽略的 Fragment中的startActivityForResult方法
startActivityForResult使用方式,代码比较简单
这里实现的效果是,点击a Activity后,屏幕会跳转到手机的通讯录,任意选择点击一个通讯录中的联系人,则从通讯录Activity跳回到a Activity并在a Activity上显示你刚才选择通讯录联系人的名字。
使用StartActivityForResult进行Activity跳转传值的小例子
定义了4个Activity,主activity跳转到其他2个时附带String good,第二个在接收到数据后将String +"boy"后返回给主Activity并Toast;第三个在接收到数据后将String +"boy&girl"后返回给主Activity并Toast。...
NULL 博文链接:https://duduli.iteye.com/blog/1422558
NULL 博文链接:https://zhanglimijavaeye.iteye.com/blog/965433
基于RxPermissions框架思想,在使用startActivityForResult可以不重写onActivityResult回调
在Activity的四种不同的启动模式下,对于startActivityForResult方法的影响。什么时候可以收到回传数据。
startActivityForResult
NULL 博文链接:https://676744379-qq-com.iteye.com/blog/1122436