![](/img/trans.png)
[英]ConcurrentModificationException in Android AsyncTask
[英]Solving ConcurrentModificationException problem with Asynctask (ANDROID)
我得到一個ConcurrentModificationException(ArrayList)異常,我不知道如何解決它,因為異常非常罕見,不可重現。
情況:我有一個主線程:
for(Element element : myList){
Value value = element.getValue(); <-------- ConcurrentModificationException (ArrayList)
}
和AsyncTask:
public class LoadMapObjectsTask extends AsyncTask<String, String, String> {
protected String doInBackground(String... params) {
// some other logic
myList.remove(element);
}
}
我能理解沖突,但我不確定如何正確地預防沖突。 也許用簡單的同步{}? 我怎么解決這個問題?
也許您可以更改代碼以返回特定值,該值可以被識別為使用Iterator.remove()
刪除元素的符號:
Iterator<Element> it = myList.iterator();
while (it.hasNext()) {
Value value = it.next().getValue()
if (value == null) {
it.remove();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.