解决方案 »

  1.   

    你startActivityForResult使用的intent,和你在onActivityResult中intent不是同一个哈,请仔细学习下startActivityForResult的使用和onActivityResult什么时候被调用哈。
      

  2.   

    androidActivity之间的跳转不只是有startActivity(Intent i)的,startActivityForResult(Intent intent, int requestCode)也是常用的方法。   其作用是可以用onActivityResult(int requestCode, int resultCode, Intent data)方法获得请求Activity结束之后的操作。
       需要注意三个方法:startActivityForResult(Intent intent, int requestCode),onActivityResult(int requestCode, int resultCode, Intent data),setResult(int resultCode, Intent data)例如如下代码:从From跳转至ToB和ToC
     From:
    if(条件){
    Intent intent = new Intent(this, ToB.class);
     startActivityForResult(serverIntent, REQUEST_CODE_01);//跳转至ToB
     }else{
     Intent intent = new Intent(this, ToC.class);
     startActivityForResult(serverIntent, REQUEST_CODE_02);//跳转至ToC
     }
      
     public void onActivityResult(int requestCode, int resultCode, Intent data){
               switch (requestCode) {
     case REQUEST_CODE_01:
                             if(resultCode==Activity.RESULT_OK)
                             //do something
                             break;
                     case REQUEST_CODE_02:
     //do something
                             break;
     }
     }
      
      
         这里说说startActivityForResult(Intent intent, int requestCode)的参数,第一个Intent不用说了,需要注意的是第二个,我们用的是REQUEST_CODE_01和REQUEST_CODE_02,其实这个是我们自己定义的一个int型常量,用于标记的,具体作用可在onActivityResult方法里看到,用于判断是从哪个Activity返回的。
     
    ToB:
    Intent intent = new Intent();
     intent.putExtra(key, value);
     setResult(Activity.RESULT_OK, intent);
     finish();//结束之后会将结果传回From
      
     ToC:
    Intent intent = new Intent();
     intent.putExtra(key, value);
     setResult(Activity.RESULT_OK, intent);
     finish();//结束之后会将结果传回From
      
        setResult的第一个参数对应上面onActivityResult的第二个参数,注意别把onActivityResult的第一个参数与第二个参数搞混淆了,一个是请求标记,一个是返回标记。
     
    贴过来学习~~~
      

  3.   

    在string.xml添加如下一行:<string name="error">net error</string>