Проблемка с listview в котором imageview

Интерфейс, диалоги, темы, стили, меню
Ответить
Аватара пользователя
Grom1k
Сообщения: 2
Зарегистрирован: 03 сен 2014, 22:14

Проблемка с listview в котором imageview

Сообщение Grom1k » 05 сен 2014, 12:10

Всем привет, разрабатываю одно приложение, принцип работы таков, нажимаю на кнопку, загружаю данные с удаленного сервера, по этим данным строю listView и в listView содержится картинка из этих данных, её я загружаю асинхронно через AsyncTask, но вот в чем беда, картинки грузятся успешно, но когда я прокручиваю список видимо позиция скачет элементов и на картинку с 0 позицией загружается например картинка с буквой "Х", когда я пролистаю до пятой позиции и снова назад до первой, то у первой уже картинка не с буквой "Х" а с буковй "К" и все картинки начинаю загрузку заного и буквально через 1 сек картинка снова становиться с буквой "Х". Подскажет может кто сталкивался с этим, еще не придумал как решить, но думаю что проблема с position. Мне надо чтобы картинка 1 раз загрузилась и больше не загружалась.

Аватара пользователя
anber
Сообщения: 584
Зарегистрирован: 10 июн 2013, 15:05
Откуда: UA

Re: Проблемка с listview в котором imageview

Сообщение anber » 05 сен 2014, 17:47

Ни хрена не понял что тебе там видимо но наверняка ты неправильно используешь convertView.

Процитирую Viewer:
Я вам могу рассказать почему это происходит, для понимания, хотя это я уже не раз повторял.
ListView не создает и не держит в памяти все элементы списка, это будет очень расточительно по отношению к памяти устройства, он создает только те элементы которые видны на экране. Когда вы прокручиваете список, к примеру, вверх - верхние элементы уходят и когда они становятся не видны, ListView думает - ага, элемент не виден, но в памяти содержится, зачем зря добру пропадать, если можно его использовать повторно для тех элементов, которые выползают и родятся на свет божий снизу, поэтому он без всякого зазрения совести вместо создания нового элемента берет тот, что уполз наверх и просто заполняет его данными, которые ему поставляет адаптер. Если у вас нет данных о состоянии чекбоксов, то он и оставляет их нетронутыми, т.е. те чекбоксы, что были чекнуты и уползли наверх, появятся снизу в том же состоянии и так и будут ходить покругу.
>>>Мне надо чтобы картинка 1 раз загрузилась и больше не загружалась.
ImageLoader в помощь
Личные сообщения с просьбой ответить на форуме или написать программу я просто удаляю, если я в хорошем настроении. Если в плохом добавляю автора в черный список. По любым другим вопросам feel free to write to me.

Аватара пользователя
Grom1k
Сообщения: 2
Зарегистрирован: 03 сен 2014, 22:14

Re: Проблемка с listview в котором imageview

Сообщение Grom1k » 05 сен 2014, 20:07

Спасибо, до этой того как еще получил здесь ответ, наткнулся на неё.

Ответить