Android onActivityResult 回调函数

来源:互联网 发布:手机制作效果图软件 编辑:程序博客网 时间:2024/04/29 14:36

在Android应用开发过程中,我们会遇到Activity之间的跳转,跳转的过程我们会需要一些数据的传递,具体的关于数据的传递利用bundle来进行,之前博客中有写,再次不再叙述,之前的是利用bundle向所要跳转的activity进行传递数据,而现在是当一个新的activity被关闭后,向之前的activity进行的数据传递。

首先在一个activity启动另一个activity我们常用的是

Intent intent = new Intent ();intent.setClass(this, NextActivity.class);startActivity(intent);

但是如果我们要利用回调函数进行获取数据,我们就需要采用另一种启动方式

Intent intent = new Intent ();intent.setClass(this, NextActivity.class);startActivityForResult(intent, requestCode);

第二个参数我们随便一个整型数据就好了,用来区分不同的activity,在需要向当前activity返回数据的activity中,我们需要这样来写

NextActivity.this.setResult(RESULT_OK);finish();
如果需要一些数据传递的话,可以通过Intent和bundle,来实现,下面在之前的activity中如何通过回调函数来处理数据

 @Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {if (resultCode == RESULT_OK) {    switch (requestCode){
case 1://do something break;
}
}super.onActivityResult(requestCode, resultCode, data);    }

requestCode 就是我们在启动下一个activity时,我们自定义的数字,通过这个数字,我们就可以找到指定的activity的返回的相应数据,然后进行相应的处理就可以了。

0 0