我正在開發一個Android應用程序並且完成它。目前我面臨着一個問題,至少現在是這樣。追加到全局列表<String>使用另一個列表<String>在Android中
我正在從ListView的多選中從不同的活動中選擇用戶,然後將其存儲在全局列表中。唯一的問題是,它將最後一個選項設置爲全局列表
下面是進一步的解釋,僅僅是爲了闡述我的觀點。我無法粘貼代碼,因爲它很複雜,所以認爲最好這樣解釋。
我有3項活動。每個活動都有一個獨特的標題。在每個Activity中,都有帶有值的ListView。爲了理解,我在每個活動中都進行了用戶選擇(粗體)。
活動1 - 標題水果 列表
- 水果1
- 水果2
- 水果3
- 水果4
活動2 - 標題蔬菜
- 蔬菜1
- 蔬菜2
- 蔬菜3
活動3 - 標題肉類
- 肉類1
- 肉類2
- 肉類3
- 肉類4
- 肉類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?
是什麼'globalSelectedItems.setSelected_items_gv()'做什麼? – Egor
經過所有選擇後,我將把它帶到一個PHP文件並將用戶選擇存儲到數據庫中。 'globalSelectedItems.setSelected_items_gv()'實際上是根據用戶選擇設置'Global List'的值。 –
根據你的問題,該方法的目的應該是聚合來自所有活動的數據,以防止它將值設置爲最後一個活動的選擇 - 它的行爲不正確。它應該像'globalItems.addAll(localItems)',而不是'globalItems = localItems',不對嗎? – Egor