首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在startActivityForResult()中传递数据并在onActivityResult()中将其取回?

在Android开发中,可以使用startActivityForResult()方法启动一个新的Activity,并且可以传递数据给新的Activity。然后,在新的Activity中处理完逻辑后,可以通过setResult()方法将结果数据返回给调用的Activity,并在调用的Activity中的onActivityResult()方法中获取返回的数据。

下面是具体的步骤:

  1. 在调用的Activity中,使用startActivityForResult()方法启动新的Activity,并传递数据。例如:
代码语言:txt
复制
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("key", "value"); // 传递数据
startActivityForResult(intent, requestCode);
  1. 在新的Activity中,获取传递过来的数据。可以在onCreate()方法中使用getIntent()方法获取传递的Intent,并通过getStringExtra()等方法获取具体的数据。例如:
代码语言:txt
复制
Intent intent = getIntent();
String data = intent.getStringExtra("key"); // 获取数据
  1. 在新的Activity中处理完逻辑后,通过setResult()方法将结果数据返回给调用的Activity。例如:
代码语言:txt
复制
Intent intent = new Intent();
intent.putExtra("result", "success"); // 设置结果数据
setResult(RESULT_OK, intent);
finish(); // 结束当前Activity
  1. 在调用的Activity中的onActivityResult()方法中获取返回的数据。例如:
代码语言:txt
复制
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == requestCode && resultCode == RESULT_OK) {
        String result = data.getStringExtra("result"); // 获取返回的结果数据
        // 处理返回的结果数据
    }
}

这样,就可以在startActivityForResult()中传递数据,并在onActivityResult()中将其取回了。

推荐的腾讯云相关产品:腾讯云移动应用分析(MTA),腾讯云移动推送(TPNS),腾讯云移动直播(MLVB),腾讯云移动短信(SMS),腾讯云移动支付(MPS),腾讯云移动游戏加速(GME),腾讯云移动混合云(MCM),腾讯云移动智能硬件(MIH),腾讯云移动智能家居(MIH),腾讯云移动智能车联网(MIC),腾讯云移动智能医疗(MIM),腾讯云移动智能教育(MIE),腾讯云移动智能金融(MIF),腾讯云移动智能物流(MIL),腾讯云移动智能城市(MIC),腾讯云移动智能旅游(MIT),腾讯云移动智能餐饮(MIC),腾讯云移动智能零售(MIR),腾讯云移动智能娱乐(MIE),腾讯云移动智能体育(MIS),腾讯云移动智能农业(MIA),腾讯云移动智能能源(MIE),腾讯云移动智能环保(MIE),腾讯云移动智能制造(MIM),腾讯云移动智能安防(MIS),腾讯云移动智能交通(MIT),腾讯云移动智能航空(MIA),腾讯云移动智能航天(MIA),腾讯云移动智能物联网(MIoT),腾讯云移动智能人工智能(MIAI),腾讯云移动智能大数据(MIBD),腾讯云移动智能云计算(MICC),腾讯云移动智能区块链(MIBC),腾讯云移动智能元宇宙(MIU)。具体产品介绍和链接地址请参考腾讯云官方网站。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券