2013-02-10 92 views
1

我想發送經緯度的字符串值到另一個類,但我有點困惑如何使用它與放置額外的意圖。如何發送字符串值到另一個活動?

這裏是我的代碼:

Intent i = new Intent(getApplicationContext(), PlacesMapActivity.class); 

//Sending data to another Activity 
String latitude = Double.toString(placeDetails.result.geometry.location.lat); 
String longitude = Double.toString(placeDetails.result.geometry.location.lng); 
i.putExtra("user_lat", latitude); 
i.putExtra("user_lng", longitude); 

startActivity(i); 

是不是,如果我嘗試找回這樣的字符串值?

// Getting intent data 
Intent i = getIntent(); 

// Users current geo location 
String user_lat = i.getStringExtra("user_latitude"); 
String user_lng = i.getStringExtra("user_longitude"); 

請給我你的意見。謝謝。

回答

2

您必須使用相同名稱的額外輸入和輸入。例如你把user_lat,但然後嘗試得到user_latitude,這顯然不會工作。否則,我看起來很好。

請注意,您可以直接將double的值,不需要轉換爲String。讓他們回來使用getDoubleExtra

+0

謝謝亨利。 我是關於user_lat的錯字。 :) – user1673210 2013-02-10 07:29:06

2

根據你的問題 - 是的,這是將數據從Activity傳遞到另一個的正確方法,但你必須記住你的name參數應該是相同的放置和檢索數據。

另外第二種方法是使用getExtras()方法。在第二個活動,其中要檢索的數據:

// Getting intent data 
Intent i = getIntent(); 
Bundle extras = i.getExtras(); 

// Users current geo location 
if(extras != null) { // Check if extras were found 
    String user_lat = extras.getString("user_latitude"); 
    String user_lng = extras.getString("user_longitude"); 
} 

兩種方式之間的區別是:如果String指定名稱找不到

  • getStringExtra()方法返回null
  • getExtras()方法返回null如果沒有發現額外的東西
相關問題