2013-04-23 25 views
0

我創建了一個使用XMLParser填充的ListView,用戶可以使用複選框從列表中選擇多個值,然後可以通過按按鈕。 在活動2上,我想檢索所選的所有這些值。使用Java(Android)連接多個值的字符串

要獲得所有我用所選值:String selected += "\n- " +c.getName(); 其中c爲final ConfigOptions c = options.get(position);

而且我宣佈它onCreate方法這樣

public static String selected = null; 

之外,但我有同樣的問題

問題是,在活動2我得到所有選定的值,但其中一個值爲空

EX:空\ n -Servotronic \ n -Park距離控制\ N - 速度極限 信息

另外,如果我試圖重新打開活動1,再次選擇新的項目,在第二活動老之前選擇的活動也在那裏。即使我將字符串的值設置爲null,我仍然可以將它們全部放在那裏。

那麼如何連接這個字符串的值,以便在下一個活動中不再獲得空值,並且能夠重置該值,以便我可以再次進行選擇?

+0

你需要寫'空check'條件。 – 2013-04-23 15:56:11

+2

也許是因爲你正在聲明一個字符串並在同一行上添加'+ ='? – souldzin 2013-04-23 15:57:52

+0

選中的字符串+ =「\ n」是語法錯誤。 – StuPointerException 2013-04-23 16:04:49

回答

1

您可以使用Android Bundle以更好的方式完成任務。創建要傳遞的項目的ArrayList,將ArrayList添加到Bundle,並在調用Intent時發送Bundle

1

當用戶想要轉到活動2時,創建一個字符串數組來保存所選項目的數量。添加它作爲一個額外的在你的意圖,開始活動2.

int count = // get number of selections 
String[] options = new String[count]; 
for (int i = 0; i < count; i++) { 
    options[i] = // ith selection 
} 
Intent intent = new Intent(this, Activity2.class); 
intent.putExtra("options", options); 
startActivity(intent); 

在活動2的onCreate:

String[] options = getIntent.getStringArrayExtra("options"); 
if (options != null) { 
    // process the strings here. 
}