117.info
人生若只如初见

用startactivityforresult实现多Activity交互

startActivityForResult 是 Android 中一种常用的 Activity 之间通信方式,它允许你从一个 Activity 启动另一个 Activity,并在第二个 Activity 完成操作后返回结果给第一个 Activity。以下是如何使用 startActivityForResult 实现多个 Activity 之间的交互:

  1. 在第一个 Activity(发起请求的 Activity)中,使用 startActivityForResult 方法启动第二个 Activity:
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
startActivityForResult(intent, REQUEST_CODE);

这里的 REQUEST_CODE 是一个整数常量,用于标识该请求。你可以根据需要定义不同的请求码。

  1. 在第二个 Activity(被启动的 Activity)中,处理完操作后,使用 setResult 方法设置结果,并调用 finish 方法关闭 Activity:
Intent resultIntent = new Intent();
resultIntent.putExtra("result_key", "result_value");
setResult(RESULT_OK, resultIntent);
finish();

这里的 result_keyresult_value 分别表示结果的键和值。你可以根据需要自定义这些值。

  1. 在第一个 Activity 中,重写 onActivityResult 方法以接收第二个 Activity 返回的结果:
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
        String result = data.getStringExtra("result_key");
        // 处理结果
    }
}

这里的 requestCoderesultCode 分别表示请求码和结果码。当 requestCode 与发起请求时的请求码相等,且 resultCodeRESULT_OK 时,你可以从 data Intent 中获取返回的结果,并进行相应的处理。

通过以上步骤,你可以实现多个 Activity 之间的交互。如果需要与更多 Activity 交互,只需按照相同的方式启动新的 Activity 并处理返回的结果即可。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe021AzsBAQJSBw.html

推荐文章

  • startactivityforresult与Activity生命周期的关系

    startActivityForResult 是 Android 中用于从一个 Activity 启动另一个 Activity,并在新 Activity 完成后返回结果的方法。这种机制允许您在两个 Activity 之间进...

  • startactivityforresult在不同Android版本中的差异

    startActivityForResult 是一个用于从一个 Activity 启动另一个 Activity,并在操作完成后返回结果的方法 Android 4.0(API 级别 14)及更低版本:
    在这些版...

  • 如何优化startactivityforresult的性能

    startActivityForResult 是 Android 中用于从一个 Activity 启动另一个 Activity,并在结果返回时处理数据的方法。要优化 startActivityForResult 的性能,可以遵...

  • startactivityforresult与权限请求的结合

    startActivityForResult和权限请求可以结合使用,以便在启动新活动之前检查并请求必要的权限。以下是一个简单的示例,说明如何实现这种结合: 首先,确保在Andro...

  • startactivityforresult与Activity生命周期的关系

    startActivityForResult 是 Android 中用于从一个 Activity 启动另一个 Activity,并在新 Activity 完成后返回结果的方法。这种机制允许您在两个 Activity 之间进...

  • startactivityforresult在不同Android版本中的差异

    startActivityForResult 是一个用于从一个 Activity 启动另一个 Activity,并在操作完成后返回结果的方法 Android 4.0(API 级别 14)及更低版本:
    在这些版...

  • 如何优化startactivityforresult的性能

    startActivityForResult 是 Android 中用于从一个 Activity 启动另一个 Activity,并在结果返回时处理数据的方法。要优化 startActivityForResult 的性能,可以遵...

  • startactivityforresult与权限请求的结合

    startActivityForResult和权限请求可以结合使用,以便在启动新活动之前检查并请求必要的权限。以下是一个简单的示例,说明如何实现这种结合: 首先,确保在Andro...