2012-12-21 51 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

相關問題