【发布时间】:2015-07-04 13:48:00
【问题描述】:
我传递了Arraylist 的ParseObject,然后我放了一个foreach 循环以在用户对象不等于null 时提取具有条件的项目。我面临两个问题。
1.如果我通过将不同的数据传递给另一个列表然后将该列表传递给我的适配器来执行以下代码行,我将获得带有数字的随机数据,例如:如果在项目#1上的名称是“MAC”,那么它显示在第 3 项中。
ArrayList<ParseObject> checkRequestedNetArrayList = new ArrayList<ParseObject>();
requestedNetArrayList = (ArrayList<ParseObject>) objects;
MyResponsibilitesActivity.requestedNetArrayList = requestedNetArrayList;
adapterRequest = new GenericAdapter<ParseObject>(
getApplicationContext(),
requestedNetArrayList,
R.layout.requested_trust_net_list_item,
requestedDataBinder);
requestListView.setAdapter(adapterRequest);
requestedNetArrayList = (ArrayList<ParseObject>) objects;
for(ParseObject object: objects){
System.out.println(object);
object.getParseObject("user");
if(object.has("user")){
checkRequestedNetArrayList.add(object);
}else{
checkRequestedNetArrayList.remove(object);
}
}
adapterRequest = new GenericAdapter<ParseObject>(
getApplicationContext(),
checkRequestedNetArrayList,
R.layout.requested_trust_net_list_item,
requestedDataBinder);
requestListView.setAdapter(adapterRequest);
-
如果我正在执行以下代码行来直接给出同一列表中的项目,我会得到
java.util.ConcurrentModificationExceptionfor(ParseObject object: objects){ if(object.has("user")){ requestedNetArrayList.add(object); } } else{ requestedNetArrayList.remove(object); } adapterRequest = new GenericAdapter<ParseObject>( getApplicationContext(), requestedNetArrayList, R.layout.requested_trust_net_list_item, requestedDataBinder); requestListView.setAdapter(adapterRequest);}
请帮帮我。
【问题讨论】:
-
重新格式化第二段代码后,我意识到它甚至都不正确。您的大括号不匹配,并且您有一个
else构造悬挂在不知名的地方。请修复您的代码,使其至少可以编译。
标签: java android list concurrentmodification