分享

android Activity 之 startActivityForResult 的使用

 blankice 2011-11-01

依次打开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了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多