2012-12-21 52 views
0

我有一个使用startActivityForResult启动另一个活动。这一步是好的。然后第二个活动有一个地图,当点击一个按钮时,这个地点点坐标被传递给一个在第一个活动中使用的包来填充一个EditText。运行onActivityResult函数直到结束,然后程序崩溃并在屏幕上出现一个带有“未找到源”的消息。onActivityResult错误

这是mapActivity功能:

public void ConfirmLoc(View v){ 
    double lat = loc.getLatitudeE6()/1E6; 
    double lng = loc.getLongitudeE6()/1E6; 
    Intent ievloc = new Intent(); 
    Bundle bevloc = new Bundle(); 
    bevloc.putDouble("latitude",lat); 
    bevloc.putDouble("longitude",lng); 
    ievloc.putExtras(bevloc); 
    setResult(RESULT_OK,ievloc); 
    finish(); 
} 

而且这是在第一次活动的onActivityResult:

protected void onActivityResult(int requestCode, int resultCode, Intent data){ 
    if(requestCode==1){ 
     if(resultCode==RESULT_OK){ 
      EditText loc= (EditText) findViewById(R.id.LocalizacaoEvento); 
      bevloc = data.getExtras(); 
      if(bevloc!=null){ 
       String latitud = String.valueOf(bevloc.getDouble("latitude")); 
       String longitud = String.valueOf(bevloc.getDouble("longitude")); 
       loc.setText(latitud+" , "+longitud,TextView.BufferType.EDITABLE); 

      } 
     } 
     else if(resultCode==RESULT_CANCELED){ 

     } 
    } 
} 

谁能帮助?谢谢

回答

0

您需要在onActivityResult方法的顶部添加@Override行。当你这样做,你也将增加以下行作为方法的第一行:

super.onActivityResult(requestCode, resultCode, data); 

此外,还要确保你的编译器设置为1.6,而不是1.5的默认在Eclipse中。

+0

也做到了这一点,问题依然存在。我会把所有的活动代码。 – mix69

+0

忘了提及...调用活动扩展了FragmentActivity。 – mix69

+0

你可以添加整个代码吗? – SalGad

相关问题