不能从意图中得到额外的东西

时间:2017-06-23 12:55:45

标签: android google-maps android-intent

我试图从谷歌地图活动中获得经度和经度,如果我尝试使用null的getDoubleExtra,如果我使用的是getStringExtra,我总是会得到默认值 这是我在谷歌地图活动中的代码:

public void onOkClick(View v){                                        
    Toast.makeText(getApplicationContext(), "we will save the place",
            Toast.LENGTH_LONG).show();
    Intent back= this.getIntent();
    back.putExtra("latitude",latitudeB);
    back.putExtra("longitude",longitudeB);
    setResult(RESULT_OK,back);
    finish();

}

这是回归部分:

   protected void onActivityResult(int requestcode, int resultcode,Intent data){                   
    super.onActivityResult(requestcode,resultcode,data);
    if(resultcode==RESULT_OK&&requestcode==PLACE_PICKER_REQUEST){
        Bundle B=data.getExtras();
        String la=B.getString("latitude");
        String lo=data.getStringExtra("longitude");
        placee.setText(""+la+"   "+lo);
}
}

1 个答案:

答案 0 :(得分:1)

当您尝试转换回调用活动时,您可以创建一个新的Intent并相应地设置值:

public void onOkClick(View v){                                        
   Toast.makeText(getApplicationContext(), "we will save the place",
        Toast.LENGTH_LONG).show();
   Intent back= new Intent();
   back.putExtra("latitude",latitudeB);
   back.putExtra("longitude",longitudeB);
   setResult(RESULT_OK,back);
   finish();
 }

试试这个,让我知道它是怎么回事;因为getIntent()可能会返回null!

一切顺利!