Problemas подставляют SetTag () en Android Studio

Estoy llenando datos ООН listview y меня продажа ошибка ООН cuando estoy realizado el siguiente código подставляют el ошибку:

КРИТИЧЕСКОЕ ИСКЛЮЧЕНИЕ: основной Процесс: com.tuinen.carlosvilla.tuinensoft, PID: 21682 java.lang. NullPointerException: Попытайтесь читать из поля 'android.widget. TextView com.tuinen.carlosvilla.tuinensoft. BandasAdapter$BandasHolder.texto' на ссылке несуществующего объекта

introducir la descripción de la imagen aquí

1
задан 23.12.2016, 19:03
2 ответа

Когда convertView null, он значит, что нет вида в утилизации, следовательно мы должны создавать новый один. Ты у Holder есть 2 визуальных признака ImageView и один TextView. Она funciГіn адаптера, если, это, чтобы повторно использовать совещания. Следовательно как только загружается статья твоего списка, он не необходим снова определять этот вид, если нет, что уже эта в утилизации и наметке с setear стоимость твоих различных статей. Твой код оценивает, что его не было null, если его null, ты определяешь этот формат вида для того, чтобы остальные статьи это загрузили, если он состоит в том, что он отличный от null, только берешь того, которого уже ты создал ранее с getTag().

Ошибка находится в else, где ты делаешь

holder = (BandasHolder) row.setTag();

, Меняется из-за:

holder = (BandasHolder) row.getTag();
1
ответ дан 24.11.2019, 11:59
  • 1
    Hey уже ты издал твой ответ на основании моей! б —’ НџК–б —\• – Jorgesys♦ 19.12.2016, 20:27
  • 2
    @Elenasys ее не издал на основании твоей:0!!, только документируйте, как функционирует адаптер, потому что проверяют, если он или нет недействительным, ты дал мне совет и я это продолжил:3 – sioesi 19.12.2016, 20:28

Основанный на ошибке:

Attempt to read from field 'android.widget. TextView com.tuinen.carlosvilla.tuinensoft. BandasAdapter $BandasHolder.texto' on в null object reference

, Если он не существует ConvertView (row), он создает контейнер начиная с Вашей этикетки посредством, полученная посредством getTag():

if(row == null){ //ConvertView es null.
   ... 
   ...
    row.setTag(holder); //Agrega tag al ConvertView.
} else {
    holder = (BandasHolder) convertView.getTag(); //Crea contenedor a partir de su Etiqueta.
   //o también holder = (BandasHolder) row.getTag();
}
0
ответ дан 24.11.2019, 11:59
  • 1
    потому что использовать convertView.getTag (), когда row уже у него есть Ваша стоимость? какое различие есть с моим ответом? – sioesi 19.12.2016, 20:18
  • 2
    Нужно документировать má s возможный. ConvertView и row - то же самое следовательно возможно использовать любой. – Jorgesys♦ 19.12.2016, 20:19