我有一个使用startActivityForResult启动另一个活动的活动。这一步没问题。然后,第二个活动有一个地图,当单击一个按钮时,地理位置坐标将传递给在第一个活动中用来填充EditText的包。函数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){
}
}
}有人能帮上忙吗?谢谢
发布于 2012-12-21 17:35:35
您需要在onActivityResult方法的顶部添加@Override行。执行此操作时,还将添加以下行作为该方法的第一行:
super.onActivityResult(requestCode, resultCode, data); 还要确保您的编译器设置是1.6,而不是Eclipse中默认的1.5。
https://stackoverflow.com/questions/13987362
复制相似问题