Как исправить ошибку с getView() методом в андроид?

Есть listView и у его "детей" имеется картинка и надпись, вообщем раньше в методе getView при я устанавливал картинку вот таким способом:
if (title.getText() == "Text #1") {
                //new ImgLoad().execute();
                Picasso.with(retval.getContext()).load("http://i.imgur.com/DvpvklR.png").into(image_list_icon);
 
            } else
            if (title.getText() == "Text #2"){
                Picasso.with(retval.getContext()).load("http://127.0.0.1:59777/smb/192.168.0.250/Files/1.jpg").into(image_list_icon);
            }else
            if (title.getText() == "Text #3"){
                Picasso.with(retval.getContext()).load("http://127.0.0.1:59777/smb/192.168.0.250/Files/2.jpg").into(image_list_icon);
            }else
            if (title.getText() == "Text #4"){
                Picasso.with(retval.getContext()).load("http://127.0.0.1:59777/smb/192.168.0.250/Files/3.jpg").into(image_list_icon);
            }

Сейчас у меня стоит не фиксированная длинна, а она может быть разная, я сейчас беру из файла. Проблема в том что когда позиция больше чем длинна строк в массиве приложение закрывается, а мне нужно это как-то исправить, какие есть предложения?
Вот какой код я пытался сделать:
if (title.getText() == lines_image.get(i)) {
                  Picasso.with(retval.getContext()).load(url_first + lines_image.get(i)).into(image_list_icon);
               }

Вот мой старый класс а вот новый.
  • Вопрос задан
  • 2429 просмотров
Пригласить эксперта
Ответы на вопрос 2
@onepavel
Консультация и разработка мобильных приложений
Так проверяйте чтобы позиция не выходила за пределы массива
Ответ написан
gadfi
@gadfi
https://gamega.org
какие есть предложения?


Без обид, но первая мысль оторвать руки ... вторая тоже, слава ктулху что с этим работать не мне... а теперь конструктив:
1. вынесите адаптеры в отдельный класс и в отдельный файл
2. опиши модели
3. скармливай адаптеру коллекции моделей
4. реализуй адаптер полностью(не все метода реализвованы)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы