欢迎使用优快云-markdown编辑器

本文介绍了Android开发中startActivityForResult方法的使用技巧,详细解释了请求码与结果码的作用及应用场景,帮助开发者更好地实现Activity之间的数据传递。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

startActivityForResult中请求码和响应码


利用startActivityForResult()方法启动activity可以在获取该activity关闭时的返回值,

Intent intent=new Intent(this,NewActivity.class);
//第二个参数用来标识是从哪个activity开始跳转的
startActivityForResult(intent,0);
当新的Activity关闭时,会触发主Activity的
onActivityResult事件。

新的Activity 中使用setResult(int resultCode,Intent intent)方法,向前面的Activity传回数据,为了得到传回的数据,必须在前面的Activity中重写onActivityResult(int requestCode, int resultCode, Intent data)方法。

   1.请求码

   在一个业务中可能在两个按钮被单击事件中打开同一个Activity,但我们在onActivityResult事件中如何判断是哪个按钮打开了新的Activity?请求码就是为解决这个问题的,那么我们打开新的Activity时应该使用startActivityForResult(intent, 1);。其中的第二个参数就是请求码。



   onActivityResult事件:

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

     // TODO Auto-generated method stub

     super.onActivityResult(requestCode, resultCode, data);

}

   在onactivityResult事件中,通过判断requestCode更可知道被关闭Activity是通过哪个位置打开的。



   2.结果码

   在一个业务中可能要打开多个不同的Activity,那关闭Activity时在onactivityResult事件中我们如何知道关闭的是哪一个Activity呢?结果码就是为解决这个问题的,那么我们打开新的Activity时应该使用setResult(2, intent);或在关闭Activity前调用ActivityObj.setResult(2);。其中的第一个参数就是结中    在onactivityResult事件


这里写代码片
,通过判断resultCode更可知道是哪个Activity被关闭了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值