Android中回传数据

Android中提供了一个startActivityForResult()方法,来实现回传数据

    接下来通过一段实例代码来显示如何使用startActivityForResult()。Activity01具体代码如下所示:

Intent intent = new Intent(this,Activity02.class);
startActivityForResult(intent,1);

    上述示例代码中,startActivityForResult()方法接收两个参数,第一个参数是Intent,第二个参数是请求码,用于在判断数据的来源。

    接下来在Activity02中添加数据返回的示例代码,具体如下所示:

Intent intent = new Intent();
intent.putExtra("extra_data","Hello Activity01");
setResult(1,intent);
finish();

    上述代码中,实现了回传数据的功能。其中,setResult()方法接收两个参数,第一个参数resultCode结果码,一般使用0或1;第二个参数则是把带有数据的Intent传递回去,最后调用finish方法销毁当前Activity。

    由于使用了startActivityForResult()方法启动Activity02,因此会在Activity01页面回调onActivityResult()方法,需要在Activity01中重写该方法来获取返回的数据,具体代码如下所示:

protected void onActivityResult(int requestCode,int resultCode,Intent data){
    super.onActivityResult(requestCode,resultCoda,data);
    if(resultCode==1){
        String data = data.getStringExtra("extra_data");
        Log.i("Activity01",data);
    }
}
    在上述代码中,实现了获取返回数据的功能。onActivityResult()方法有三个参数,第一个参数requestCode,表示在启动Activity时传递的请求码;第二个参数resultCode,表示在返回数据时传入结果码;第三个参数data,表示携带返回数据的Intent。

猜你喜欢

转载自blog.csdn.net/qq_20264531/article/details/80084087