美文网首页
【Android】startActivityForResult

【Android】startActivityForResult

作者: 善良的皮蛋 | 来源:发表于2023-10-16 11:20 被阅读0次

在Android开发中,startActivityForResult方法用于启动一个活动(Activity)并等待结果返回。以下是使用startActivityForResult的步骤:

  1. 在当前活动(Activity)中调用startActivityForResult方法来启动另一个活动,并传递适当的意图(Intent)和请求代码(request code):
Intent intent = new Intent(this, SecondActivity.class);
startActivityForResult(intent, REQUEST_CODE);

上述代码中,SecondActivity是您要启动的目标活动,REQUEST_CODE是一个整数值,用于标识此请求。

  1. 在目标活动(SecondActivity)中,当您完成相关操作并准备返回结果时,可以使用setResult方法设置结果代码和结果数据(可选):
Intent resultIntent = new Intent();
resultIntent.putExtra("key", "value"); // 可选:设置结果数据
setResult(RESULT_CODE, resultIntent);

上述代码中,RESULT_CODE是一个整数值,用于表示结果代码。您还可以使用putExtra方法将结果数据添加到结果意图中。

  1. 返回到调用startActivityForResult的活动时,会调用onActivityResult方法,您可以在该方法中处理结果:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    
    if (requestCode == REQUEST_CODE) {
        if (resultCode == RESULT_CODE) {
            // 处理结果数据
            String result = data.getStringExtra("key");
            // 根据需要执行操作
        } else if (resultCode == RESULT_CANCELED) {
            // 处理取消操作
        }
    }
}

在上述代码中,您可以通过检查requestCoderesultCode来确定返回的结果是来自哪个请求和结果代码。您还可以使用data意图来获取结果数据。

请注意,REQUEST_CODERESULT_CODE是您自己定义的整数值,可以根据需要进行更改。

这就是使用startActivityForResult方法的基本步骤。通过这种方式,您可以在活动之间进行交互,并在返回结果时执行适当的操作。

相关文章

网友评论

      本文标题:【Android】startActivityForResult

      本文链接:https://www.haomeiwen.com/subject/nmvxidtx.html