startActivityForResult() 和 onActivityResult() 一个 Activity 中有两个 startActivityForResult(),需要一个 onActivityResult() 回调方法还是 两个呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 两个都要 startActivityForResult() 启动另外一个activity onActivityResult()用来回收另外一个activity返回的结果你可以写个放短信的demo看看,之前做过这样的需求。 用什么来区分两个onActivityResult()呢 我对这个不是很了解 哥们,人家问的是onActivityResult()的个数唉... 楼主你只需要 复写一个onActivityResult()即可,因为你在调用StartActivityForResult(Intent intent , int requestcode)里的时候会指定2个参数,在复写这个方法的时候也有requestcode,和resultCode 这2个你可以根据if()来判断requestcode和resultCode不同的值来实现不同的功能, 楼主你是否理解有些偏差,我来这样描述:有三个Activity:a1,r1,r2在a1中有你所说的,两个startActivityForResult(),分别是start r1和r2来取得结果。>onActivityResult()是写在a1中的哦<r1中,用setResult(int requestCode, Intent data)来设置返回的code,有数据的话可以放在Intent中传回去,r2同理。在a1的onActivityResult()中,可以接收到返回的结果啊,像下面这样: @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == 5) { Toast.makeText(TestingAndroid.this, "" + resultCode, Toast.LENGTH_SHORT).show(); } super.onActivityResult(requestCode, resultCode, data); } 楼主你只需要 复写一个onActivityResult()即可,因为你在调用StartActivityForResult(Intent intent , int requestcode)里的时候会指定2个参数,在复写onActivityResult()这个方法的时候也有requestcode,和resultCode 这2个你可以根据if()来判断requestcode和resultCode不同的值来实现不同的功能,其中resultCode 这个参数是你启动的另外个Activity的时候,调用setResult(Intent intent, int resultcode)的时候指定的值举个例子假如你在第一个Activity中的Button1中启动一个Activity1Intent intent = new Intent(Activity.this, Activity1.class);Activity.this.StartActivityForResult(intent, 1);//这里指定参数resultcode为1然后在Activity1回到Activity的时候你调用setResult方法时候指定resultCodeIntent intent1 = new Intent();Activity1.this.setResult(intent1, 1)//这里指定参数resultcode为1然后你在Activity中复写onActivityResult()方法的时候,根据传入不同的参数值来判断即可if(requestcode==1&&resultcode==1){//实现的功能} 总地来说,onActivityResult()是用来接收返回的,setResult()才是设置返回在值的。 只要一个就可以了、通过你跳转时候给定的标识来判断是从哪个界面返回回来的数据、跳转回来后通过requestCode来区分、当然要在resultCode == RESULT_OK的前提下、 那如果我要用一个菜单键 来保存onActivityResult()返回的数据 ,该怎么写呢 ? 如何强制Navigation Tabs嵌入主ActionBar 菜鸟提问,怎么添加代码 建行客户端首页动画效果如何做? android模拟器。xml文件 android启动照相机,如何实现编辑后,保存在ImageView。上传到服务端 如何实现自己给自己发短信 统一开发环境,有什么发展前景? android编写电子书! 问一个安卓开发SDK 方面的问题 如何实现这种图片集的界面? android tab标签横向 Android2.1数据库技术,献上80分,100%结贴
onActivityResult()用来回收另外一个activity返回的结果你可以写个放短信的demo看看,之前做过这样的需求。
哥们,人家问的是onActivityResult()的个数唉...
因为你在调用StartActivityForResult(Intent intent , int requestcode)里的时候会指定2个参数,在复写这个方法的时候也有requestcode,和resultCode 这2个你可以根据if()来判断requestcode和resultCode不同的值来实现不同的功能,
>onActivityResult()是写在a1中的哦<r1中,用setResult(int requestCode, Intent data)来设置返回的code,有数据的话可以放在Intent中传回去,r2同理。在a1的onActivityResult()中,可以接收到返回的结果啊,像下面这样:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (requestCode == 5)
{
Toast.makeText(TestingAndroid.this, "" + resultCode,
Toast.LENGTH_SHORT).show();
}
super.onActivityResult(requestCode, resultCode, data);
}
因为你在调用StartActivityForResult(Intent intent , int requestcode)里的时候会指定2个参数,
在复写onActivityResult()这个方法的时候也有requestcode,和resultCode 这2个你可以根据if()来判断requestcode和resultCode不同的值来实现不同的功能,其中resultCode 这个参数是你启动的另外个Activity的时候,调用setResult(Intent intent, int resultcode)的时候指定的值
举个例子
假如你在第一个Activity中的Button1中启动一个Activity1
Intent intent = new Intent(Activity.this, Activity1.class);
Activity.this.StartActivityForResult(intent, 1);//这里指定参数resultcode为1
然后在Activity1回到Activity的时候你调用setResult方法时候指定resultCode
Intent intent1 = new Intent();
Activity1.this.setResult(intent1, 1)//这里指定参数resultcode为1
然后你在Activity中复写onActivityResult()方法的时候,根据传入不同的参数值来判断即可
if(requestcode==1&&resultcode==1){
//实现的功能
}
总地来说,onActivityResult()是用来接收返回的,setResult()才是设置返回在值的。