Сбой приложения при удалении элемента из списка массивов
Сбой моего приложения при попытке удалить объект из списка массивов:
for (ColouredPaths p : mTouches) {
if(erase){
if(p!=null)
{ mTouches.remove(p);}
}
почему это происходит и как это исправить?
1 ответ
Решение
Если вы получаете ConcurrentException
, это означает, что вы просматриваете список, который вы изменяете. В ArrayLists вы не можете сделать это. Попробуйте использовать Queue
как это вместо ArrayList
:
Queue<ColouredPaths> mTouches = new ConcurrentLinkedQueue<>();
Вы можете проходить через него таким же образом, но он не должен больше падать.