117.info
人生若只如初见

如何在Android中使用startactivityforresult

在Android中,startActivityForResult()方法用于从一个活动(Activity)启动另一个活动并期望返回结果

  1. 创建第二个活动(我们将其称为SecondActivity)并添加所需的UI元素。

  2. 在SecondActivity中,为返回数据设置一个按钮。例如:

Button returnDataButton = findViewById(R.id.return_data_button);
returnDataButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent resultIntent = new Intent();
        resultIntent.putExtra("result_key", "这是返回的数据");
        setResult(RESULT_OK, resultIntent);
        finish();
    }
});
  1. 在第一个活动(我们将其称为MainActivity)中,启动SecondActivity并等待返回结果。例如:
private static final int REQUEST_CODE = 1;

Button startSecondActivityButton = findViewById(R.id.start_second_activity_button);
startSecondActivityButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent intent = new Intent(MainActivity.this, SecondActivity.class);
        startActivityForResult(intent, REQUEST_CODE);
    }
});
  1. 在MainActivity中重写onActivityResult()方法以处理SecondActivity返回的结果。例如:
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_CODE && resultCode == RESULT_OK && data != null) {
        String result = data.getStringExtra("result_key");
        // 在这里处理返回的结果,例如显示在TextView中
        TextView resultTextView = findViewById(R.id.result_text_view);
        resultTextView.setText(result);
    }
}

现在,当您点击“启动SecondActivity”按钮时,SecondActivity将启动。当您在SecondActivity中点击“返回数据”按钮时,MainActivity将收到返回的数据,并将其显示在resultTextView中。

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

推荐文章

  • 用startactivityforresult实现多Activity交互

    startActivityForResult 是 Android 中一种常用的 Activity 之间通信方式,它允许你从一个 Activity 启动另一个 Activity,并在第二个 Activity 完成操作后返回结...

  • 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是Android开发中用于启动另一个Activity并期望从该Activity获取返回结果的方法。其主要用途和用法如下:
    主要用途 启动Activity并等...

  • 如何通过fastboot驱动恢复出厂设置

    当您需要通过Fastboot驱动来恢复出厂设置时,实际上您可能指的是在Fastboot模式下进行恢复出厂设置的操作。这通常涉及到使用特定的Fastboot命令来重置手机到出厂...

  • 在Windows下使用fastboot驱动的方法

    在Windows系统下使用Fastboot驱动,主要涉及到驱动的安装和配置。以下是具体的方法和步骤:
    安装Fastboot驱动 下载Android SDK Platform Tools:访问Androi...

  • fastboot驱动与Recovery模式的区别

    Fastboot驱动与Recovery模式在Android设备中各自扮演着不同的角色,它们的主要区别在于用途、操作层次以及安全性。
    主要区别 用途: Recovery:主要用于系统...