activity间数据传递--startActivityForResult()&setResult()

本文介绍了在Android中如何通过startActivityForResult()启动另一个activity并利用setResult()传递数据。强调setResult()需在finish()之前调用,否则可能无法返回数据。同时讨论了按BACK键退出时的处理,建议在onBackPressed()中先调用setResult()以确保数据传递。
摘要由CSDN通过智能技术生成

一个activity启动另一个activity最简单的方式是使用startActivity()方法,activity调用startActivity()方法时,实际上是把调用请求发送给操作系统的ActivityManager。ActivityManager负责创建Intent中指定activity的实例并调用其onCreate()方法,应用内部交互图

应用内部交互图

activity间传递数据则要调用startActivityForResult(…)方法,

FirstActivity:

Intent intent=new Intent(this,Second.class);
intent.putExtra("index",true);
startActivityForResult(intent,0);

@Override
    public void startActivityForResult(Intent intent, int requestCode) {
        super.startActivityForResult(intent, requestCode);
    }

SecondActivity接收数据并调用setResult(…)把处理结果回传给FirstActivity

public class SecondActivity extends AppCompatActivity implements View.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值