Activity组件通信方式

本文介绍了在Android中如何使用Intent进行组件间的数据传递,包括传递单个和多个数据,以及如何通过Bundle封装数据。同时,展示了如何从一个组件接收数据并回传给原始组件,涉及onActivityResult方法的应用。
摘要由CSDN通过智能技术生成

组件间通信 Intent

传递单个数据

传递数据的组件

Intent intent = new Intent(FirstActivity.this, ThreeActivity.class);
 // 传递单个数据
intent.putExtra("test","string");
intent.putExtra("number",123);
startActivity(intent);
**```
接受数据的组件**

```java
   Intent intent =getIntent();
    // 接受组件1的传递单个数据
    String test = intent.getStringExtra("test");
    int number = intent.getIntExtra("number", 0);
    Log.e("tag","stringTest=>"+test);
    Log.e("tag","numberTest=>"+number);

传递多个数据

发送数据

 Bundle bundle =new Bundle();
 bundle.putInt("number",123);
 bundle.putString("string","string");
 intent.putExtras(bundle);

接受数据

Bundle bundle = intent.getExtras();
int number1 = bundle.getInt("number");
String string = bundle.getString("string");
Log.e("tag","number=>"+number1);
Log.e("tag","string=>"+string);

将受到信息的组件数据发送给发送组件

intent.putExtra("back","abcdef");
setResult(1002,intent);

接受数据

// 返回数据给当前组件
startActivityForResult(intent,1001);

需要实现相应的方法

  @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        Log.e("tag","requestCode= "+requestCode);
        Log.e("tag","resultCode= "+resultCode);
        Log.e("tag","data= "+data.getStringExtra("back"));
    }

回传信息在这里插入图片描述

此方法已经过时,现在有新的方法来实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

flybase

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值