2014-02-21 96 views
0

這裏是第一個活動代碼:字符串爲空

Bundle UserEntries = new Bundle(); 
UserEntries.putString("Venue_Name", VenueName); 
UserEntries.putString("Event_Name", EventName); 
UserEntries.putString("Category", Category); 
UserEntries.putString("Region", Region); 
Intent openGetData = new Intent(SearchDatabase.this, GetData.class); 
openGetData.putExtra("UserEntries", UserEntries); 
startActivity(openGetData); 

而且這是在activty代碼打開:

Intent i = getIntent(); 
    Bundle Parameters = i.getExtras(); 
    url = "http://192.168.1.74/android_connect/get_venues.php"; 
    VenueName = Parameters.getString("Venue_Name"); 
    EventName = Parameters.getString("Event_Name"); 
    Category = Parameters.getString("Category"); 
    Region = Parameters.getString("Region"); 
    if(VenueName != null){ 
     phpExtension = ("?Venue_Name=" + VenueName); 
    } 
    url = (url + phpExtension); 

然而Venue_Name返回null,我已經測試代碼,並且在第一個活動中它不是null,並且在第二個活動中,參數bundle不是null,但是第二個活動的bundle中的Venue_Name字符串是。任何人有任何想法,我會出錯?

在此先感謝

+0

我建議您使用小寫字母作爲標準變量來啓動變量。大寫字母用於類名。 – Endzeit

回答

0

做這樣的第一活動 -

Intent openGetData = new Intent(SearchDatabase.this, GetData.class); 
openGetData.putExtra("Venue_Name", VenueName); 
openGetData.putExtra("Event_Name", EventName); 
openGetData.putExtra("Category", Category); 
openGetData.putExtra("Region", Region); 
startActivity(openGetData); 
+0

是的,多數民衆贊成,謝謝 – JamzDe3rd

1

的問題是,你只能通過你的Bundle對象的臨時演員,而不是字符串DATAS。

您需要首先獲取你通過了捆綁,然後你就可以得到在包添加的數據:

Bundle Parameters = i.getBundleExtra("UserEntries"); 


另一種方法是將照片直接絃樂只是傳遞到您的意圖使用 putExtra(String name, int value)並在第一個活動中擺脫這個 UserEntries對象。