ANDROID笔记:Activity之间的传值

本文介绍了如何在Android应用中通过Intent在不同活动间传递对象,重点展示了对象传递的实现及回调处理过程。通过示例代码,详细说明了如何在主活动接收并解析从结果活动返回的Person对象。

在主activty中调用

        Intent intent = new Intent(MyActivity.this, MyResultActivity.class);
        // 调用返回
        startActivityForResult(intent, 1);

并且重载下列方法:

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        // String nameString = data.getStringExtra("name");
        // String sexString = data.getStringExtra("sex");
        // 获取Person对象
        Person person = (Person) data.getSerializableExtra("person");
        if (person != null) {
            String name = person.getName();
            String sexString = person.getSex();
            Toast.makeText(getApplicationContext(), name + "---" + sexString,
                    Toast.LENGTH_SHORT).show();
        }

    }

在调用的另一个actvity中调用下列方法就会返回

Intent intent = new Intent(MyResultActivity.this, MyActivity.class);
        // intent.putExtra("name", "eve");
        // intent.putExtra("sex", "man");
        // 返回对象
        Person person = new Person("eve", "man");
        intent.putExtra("person", person);
        // 返回数据
        setResult(1, intent);
        finish();

 使用Intent传输的对象必须实现Serializable接口!

转载于:https://www.cnblogs.com/afluy/p/3393909.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值