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

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

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

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

19.05.2016, 23:44. Просмотров 85. Ответов 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();
                }
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2016, 23:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос ConcurrentModificationException в листе (Программирование Android):

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

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

Сравнить ячейки на первом листе и на втором листе, в случае несовпадения удалить - VBA
Задача такая,В Exel есть несколько ячеек с данными String на первом листе и на втором листе. Я пытаюсь написать программу которая будет...

По нажатию кнопки создать на втором листе строку и заполнить ее данными с формы на первом листе - VBA
Здравствуйте. Помогите решить задачу: Имеется книга с двумя листами на первом листе форма- бланк заказа. с кнопкой &quot;очистить&quot; ...

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

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

5
YuraAAA
1576 / 1317 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
19.05.2016, 23:49 #2
janeprogr, постоянно, каждый раз? Видимо, во время прохода по коллекции изменяется содержимое
0
janeprogr
0 / 0 / 0
Регистрация: 26.07.2015
Сообщений: 6
19.05.2016, 23:50  [ТС] #3
У меня два потока лист используют, один добавляет каждое n времени новый объект в лист, а этот работает уже с содержимым. Что можете посоветовать?
0
YuraAAA
1576 / 1317 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
20.05.2016, 00:28 #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();
                }
}
1
janeprogr
0 / 0 / 0
Регистрация: 26.07.2015
Сообщений: 6
20.05.2016, 07:17  [ТС] #5
Спасибо! Обернул в synchronized в обоих потоках место где использую лист, помогло, но почему это только временное решение?
0
YuraAAA
1576 / 1317 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
20.05.2016, 10:54 #6
janeprogr, потому что это полная блокировка) Пока итератор гуляет по коллекции, она не может быть изменена, и другой поток станет в ожидание, когда захочет её поменять, пока монитор (synchronized) не отпустит блокировку
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.05.2016, 10:54
Привет! Вот еще темы с ответами:

На третьем листе макрос должен выводить данные с первого листа, которые не встречаются на втором листе - VBA
неделю болел, когда пришел, задали написать программу, где есть 3 листа, на первом листе есть столбец с данными и на втором листе есть...

Нажатием горячих клавиш внести из ячейки на пятом листе данные в конкретно выбранную ячейку на 1-ом листе - VBA
Ребята, дело такое. Нужна помощь в следующем: Есть книга. В ней 5 листов. на 5-ом листе хранится информация. 4ре остальных пустые. ...

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

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


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

Или воспользуйтесь поиском по форуму:
6
Yandex
Объявления
20.05.2016, 10:54
Ответ Создать тему
Опции темы

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