2017-03-11 79 views
0

我正在開發一個Android應用程序並且完成它。目前我面臨着一個問題,至少現在是這樣。追加到全局列表<String>使用另一個列表<String>在Android中

我正在從ListView的多選中從不同的活動中選擇用戶,然後將其存儲在全局列表中。唯一的問題是,它將最後一個選項設置爲全局列表

下面是進一步的解釋,僅僅是爲了闡述我的觀點。我無法粘貼代碼,因爲它很複雜,所以認爲最好這樣解釋。


我有3項活動。每個活動都有一個獨特的標題。在每個Activity中,都有帶有值的ListView。爲了理解,我在每個活動中都進行了用戶選擇(粗體)。

活動1 - 標題水果 列表

  1. 水果1
  2. 水果2
  3. 水果3
  4. 水果4

活動2 - 標題蔬菜

  1. 蔬菜1
  2. 蔬菜2
  3. 蔬菜3

活動3 - 標題肉類

  1. 肉類1
  2. 肉類2
  3. 肉類3
  4. 肉類4
  5. 肉類5

現在,當我使用以下代碼存儲選擇,它工作完全正常。

int count = 0; 
int size = list.size(); 

List<String> fruits_selection = new ArrayList<String>(); 

for (int i = 0; i<size; i++){ 
    if (list.get(i).isSelected()){ 
     count++; 

     String selected_fruits_string = list.get(i).getFruit_id(); 

     fruits_selection.add(selected_fruits_string); 
    } 
} 

Global globalSelectedItems = (Global)getApplicationContext(); 
globalSelectedItems.setSelected_items_gv(selected_fruits_string); 

這個相同的代碼適用於所有的活動,只需以正確格式的標題替換「fruits」。

所以這給了我最後活動的選擇結果,而不是全部。我知道這很明顯,爲什麼它給了我這個結果。


所以我得到的結果是:

Meat 1, Meat 4 

而我想:

Fruit 2, Fruit 3, Vegetable 1, Vegetable 3, Meat 1, Meat 4 

誰能幫助我在附加從明年活動的新的選擇,以globalSelectedItems?

+0

是什麼'globalSelectedItems.setSelected_items_gv()'做什麼? – Egor

+0

經過所有選擇後,我將把它帶到一個PHP文件並將用戶選擇存儲到數據庫中。 'globalSelectedItems.setSelected_items_gv()'實際上是根據用戶選擇設置'Global List '的值。 –

+1

根據你的問題,該方法的目的應該是聚合來自所有活動的數據,以防止它將值設置爲最後一個活動的選擇 - 它的行爲不正確。它應該像'globalItems.addAll(localItems)',而不是'globalItems = localItems',不對嗎? – Egor

回答

1

所以這給了我最後活動的選擇結果,而不是所有的 。

試試這個

public class HealthyUDXB_Order extends Application { 
private List<String> selected_items_gv= new ArrayList<String>(); 

public List<String> getSelected_items_gv() { 
return selected_items_gv; 
} 

public void setSelected_items_gv(List<String> selected_items_gv) { 
this.selected_items_gv.addAll(selected_items_gv); 
} 
} 
+0

因爲我有基於數據庫的動態重複這些活動的次數,所以我不能使用靜態變量。這是我提到的無法粘貼代碼的原因之一。我認爲最好通過全局列表將值傳遞給前面的活動。現在我只需要追加到列表中。 –

+0

靜態變量應該出現在Application類中,而不是出現在Activity類中。你懂我的意思嗎? @MohammedAkhtarZuberi – Darish

+0

因爲我不像你那樣有經驗,所以我可能沒有得到你想說的話。請解釋一下。 –

相關問題