一个 Activity 中有两个 startActivityForResult(),需要一个 onActivityResult() 回调方法还是 两个呢?

解决方案 »

  1.   

    两个都要 startActivityForResult() 启动另外一个activity 
    onActivityResult()用来回收另外一个activity返回的结果你可以写个放短信的demo看看,之前做过这样的需求。
      

  2.   

    用什么来区分两个onActivityResult()呢   我对这个不是很了解
      

  3.   


    哥们,人家问的是onActivityResult()的个数唉...
      

  4.   

    楼主你只需要 复写一个onActivityResult()即可,
    因为你在调用StartActivityForResult(Intent intent , int requestcode)里的时候会指定2个参数,在复写这个方法的时候也有requestcode,和resultCode 这2个你可以根据if()来判断requestcode和resultCode不同的值来实现不同的功能,
      

  5.   

    楼主你是否理解有些偏差,我来这样描述:有三个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);
    }
      

  6.   

    楼主你只需要 复写一个onActivityResult()即可,
    因为你在调用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){
    //实现的功能
    }
      

  7.   


    总地来说,onActivityResult()是用来接收返回的,setResult()才是设置返回在值的。
      

  8.   

    只要一个就可以了、通过你跳转时候给定的标识来判断是从哪个界面返回回来的数据、跳转回来后通过requestCode来区分、当然要在resultCode == RESULT_OK的前提下、
      

  9.   

    那如果我要用一个菜单键 来保存onActivityResult()返回的数据 ,该怎么写呢 ?