您的位置:首页 > 其它

startActivityForResult()用法

2014-08-24 16:09 357 查看
跳转页面时,原有的界面有时需要从新界面取得数据,

这就需要用startActivityForResult来跳转,

如,从activityA跳转到activityB:

activityA的主要跳转过程代码代码:跳转到activityB,要求返回数据

Intent intent = new Intent(this, ActivityB.class);

startActivityForResult(intent, NUM);

GET_CODE是int型,任意数值

activityB的主要跳转代码,activityB结束返回时的代码

setResult(RESULT_OK, (new Intent()).setAction("Corky!"));

finish();

而在ActivityA中需要重写发放onActivityResult来获取数据

当activityB在finish之后,activityA会接收到消息,系统会调用activityA中的onActivityResult方法:

protected void onActivityResult(int requestCode, int resultCode,Intent data) {

        if (requestCode == NUM) {

            //do something

            if (resultCode == RESULT_CANCELED) {

             //do something

            } else {

             //do something

          }

     }

}

ActivityA的NUM与ActivityB的NUM相同,主要用来区分跳转页面

就是说activityA可能会跳转到很多不同的界面来获得信息,那么怎么区分呢,

就用这个NUM。

参数中的resultCode的值是由activityB中

的setResult的第一个参数决定的,data则为可选参数,可以传递更多的信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: