Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android onActivityResult错误_Android_Android Activity_Start Activity - Fatal编程技术网

Android onActivityResult错误

Android onActivityResult错误,android,android-activity,start-activity,Android,Android Activity,Start Activity,我有一个使用startActivityForResult启动另一个的活动。这一步没问题。然后,第二个活动有一个地图,单击按钮时,地质点坐标将传递给第一个活动上使用的束,以填充编辑文本。函数onActivityResult一直运行到结束,然后程序崩溃,并在屏幕上显示一条带有“未找到源”的消息 这是mapActivity上的函数: public void ConfirmLoc(View v){ double lat = loc.getLatitudeE6()/1E6; double

我有一个使用startActivityForResult启动另一个的活动。这一步没问题。然后,第二个活动有一个地图,单击按钮时,地质点坐标将传递给第一个活动上使用的束,以填充编辑文本。函数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();
}
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){

        }
    }
}
这是第一个活动的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){

        }
    }
}

有人能帮忙吗?谢谢

您需要在onActivityResult方法的顶部添加@Override行。执行此操作时,还将添加以下行作为方法的第一行:

super.onActivityResult(requestCode, resultCode, data); 

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

您需要在onActivityResult方法的顶部添加@Override行。执行此操作时,还将添加以下行作为方法的第一行:

super.onActivityResult(requestCode, resultCode, data); 

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

也这样做了,问题仍然存在。我将放置所有活动代码。忘了提及…调用活动扩展了FragmentActivity。如果在OnActivityResult方法中设置断点,它是否会在完成()映射活动时中断?在调试模式下运行它,通过添加更多的断点来查看(在Eclipse中,它是Run按钮旁边的小bug按钮),您应该能够找出哪一行导致崩溃。你能找到这一行吗?它正确地完成finish()并在运行onActivityResult方法之后中断。我可以看到文本框上的坐标。也这样做了,问题仍然存在。我将放置所有活动代码。忘了提及…调用活动扩展了FragmentActivity。如果在OnActivityResult方法中设置断点,它是否会在完成()映射活动时中断?在调试模式下运行它,通过添加更多的断点来查看(在Eclipse中,它是Run按钮旁边的小bug按钮),您应该能够找出哪一行导致崩溃。你能找到这一行吗?它正确地完成finish()并在运行onActivityResult方法之后中断。我可以在文本框中看到坐标。