Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
janeprogr
0 / 0 / 0
Регистрация: 26.07.2015
Сообщений: 6
#1

ConcurrentModificationException в листе - Программирование Android

19.05.2016, 23:44. Просмотров 61. Ответов 5
Метки нет (Все метки)

Приложение останавливается, указывает на выделенную строку.

C++
1
2
3
4
5
6
 Iterator<Item> it =drawView.items.iterator();
                while(it.hasNext()) {
                    [B]Item temp = it.next();[/B]
                    if(temp.y < 220) temp.onDraw(canvas);
                    else it.remove();
                }
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2016, 23:44     ConcurrentModificationException в листе
Посмотрите здесь:

ConcurrentModificationException - Java
Здравствуйте! Пишу универсальнве крестики-нолики(для любого поля и кол-ва клеток для выигрыша) на java. Откомпилированное прикладываю, а...

ConcurrentModificationException - Java
Добрый день. Есть такое код: public boolean СheckOutTheArrayAtTheIntersectionOfTheLines(List&lt;Point&gt; listPoints) {//Проверить...

java.util.ConcurrentModificationException - Java SE
Exception in thread &quot;AWT-EventQueue-0&quot; java.util.ConcurrentModificationException Вылетает ошибка просто на рандомном элементе, почему и...

java.util.ConcurrentModificationException - Java EE
Всем добрый день. Никак не могу понять причину возникновения этого исключения и соответственно обойти ее. Пытался создать копию листа...

Выскакивает java.util.ConcurrentModificationException - Java SE
Есть задание: Удалить людей, имеющих одинаковые имена Создать словарь (Map&lt;String, String&gt;) занести в него десять записей по принципу...

Как коллекции определяют ConcurrentModificationException? - Java SE
В случае если мы взяли итератор, а потом начинаем менять коллекцию НЕ через него, то итератор проверяет, что коллекция изменилась и...

Найти и заменить изображение в Word на листе i листе? - Lazarus
Вот так вот нахожу и заменяю текст в документе Word MSWORD.Selection.Find.Forward:= True; MSWORD.Selection.Find.Text:= '00.00.0000'; ...

Удаление объекта при столкновении - ConcurrentModificationException - Java SE
Выскакивает эта проклятая ошибка. Пытаюсь с помощью итератора пробежаться по коллекции и, если произошло столкновение, удалить данный...

Нужно на листе заказа при вводе номера артикула в любую ячейку столбца С, производить поиск на базовом листе в столбце 'А' - Visual Basic
Есть базовый лист с двумя столбцами - 'А'-Артикул и 'В'-Наименование Нужно на листе заказа при вводе номера артикула в любую ячейку...

Удаление элемента в цикле for(each) выдает ошибку ConcurrentModificationException - Java SE
знаю что нужно в таких случаях удалять через итератор,но почему то у меня это не работает,исключение все равно выдает,может кто знает в чем...

Условие на Листе - MS Excel
Есть Лист1, на нем таблицы, данные, всякая лабуда. Вопрос: Я могу создать такое условие, что Если в ячейке А10 такое-то число (пусть...

Оптимизация поиска в листе - Python
Есть задача Дан лист целых числе и число, написать функцию, возвращающую лист из двух значений в листе (проверять слева направо),...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
1566 / 1308 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
19.05.2016, 23:49     ConcurrentModificationException в листе #2
janeprogr, постоянно, каждый раз? Видимо, во время прохода по коллекции изменяется содержимое
janeprogr
0 / 0 / 0
Регистрация: 26.07.2015
Сообщений: 6
19.05.2016, 23:50  [ТС]     ConcurrentModificationException в листе #3
У меня два потока лист используют, один добавляет каждое n времени новый объект в лист, а этот работает уже с содержимым. Что можете посоветовать?
YuraAAA
1566 / 1308 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
20.05.2016, 00:28     ConcurrentModificationException в листе #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
janeprogr, Поэтому и вылетает)
как временное решение
Java
1
2
3
4
5
6
7
8
synchronized (drawView.items) {
Iterator<Item> it =drawView.items.iterator();
                while(it.hasNext()) {
                    Item temp = it.next();
                    if(temp.y < 220) temp.onDraw(canvas);
                    else it.remove();
                }
}
janeprogr
0 / 0 / 0
Регистрация: 26.07.2015
Сообщений: 6
20.05.2016, 07:17  [ТС]     ConcurrentModificationException в листе #5
Спасибо! Обернул в synchronized в обоих потоках место где использую лист, помогло, но почему это только временное решение?
YuraAAA
1566 / 1308 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
20.05.2016, 10:54     ConcurrentModificationException в листе #6
janeprogr, потому что это полная блокировка) Пока итератор гуляет по коллекции, она не может быть изменена, и другой поток станет в ожидание, когда захочет её поменять, пока монитор (synchronized) не отпустит блокировку
Yandex
Объявления
20.05.2016, 10:54     ConcurrentModificationException в листе
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru