一个 Activity 中有两个 startActivityForResult(),需要一个 onActivityResult() 回调方法还是 两个呢?
解决方案 »
- Android Google Map问题,不能显示地图信息
- 写Android的一个界面时,点击设置后就退出,截图如下,麻烦高人指点,我都是照书敲得代码!!!我弄了几个小时,也没找出问题的所在,跪求帮忙!!!谢谢!!
- android屏幕自适应 ,当选择drawable-320x240目录下的图片时,出现问题
- android任务管理器的问题
- 高分求助+人民币,修改android蓝牙对战代码中bug
- android cts 测试时,有些测试用力整个跑不通过,单个跑就能够通过
- activity在当前Task的栈顶和在前台有什么区别?
- contains native libraries that will not run on the device 错误怎么弄
- 显示Syntax error, insert ";" to complete Statement
- 使用异步获取数据放入 simpleadapter,listview中不显示数据
- 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()才是设置返回在值的。