我正在开发Android应用程序并完成它。我目前面临一个问题,至少目前是这样。
我从不同活动的ListView多选中获取用户选择,然后成功将其存储在全局列表中。唯一的问题是,它将最后一个选项设置为全局列表
下面是进一步说明,只是为了阐述我的观点。我无法粘贴代码,因为它很复杂,所以认为最好以这种方式解释。
我有3项活动。每个活动都有一个独特的标题。在每个Activity中,都有ListView的值。我已经在每个活动中为用户选择(为了理解)粗体。
活动1 - 标题水果 列表
活动2 - 标题蔬菜
活动3 - 标题肉类
现在,当我使用下面的代码存储选择时,它完全正常。
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);
同样的代码适用于只有&#34;水果&#34;的所有活动。被正确格式的标题取代。
所以这给了我最后一个活动的选择结果而不是全部。我知道这很明显,为什么它会给我这个结果。
所以我得到的结果是:
Meat 1, Meat 4
我想要:
Fruit 2, Fruit 3, Vegetable 1, Vegetable 3, Meat 1, Meat 4
有人可以帮助我将下一个活动中的新选择附加到globalSelectedItems吗?
答案 0 :(得分: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);
}
}