Добавление данных в ListView с помощью собственного адаптера [duplicate]

Исключение нулевого указателя - это индикатор того, что вы используете объект, не инициализируя его.

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

public class Student {

    private int id;

    public int getId() {
        return this.id;
    }

    public setId(int newId) {
        this.id = newId;
    }
}

Приведенный ниже код дает вам исключение с нулевым указателем.

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}

Поскольку вы используете Obj_Student, но вы забыли инициализировать его, как в правильном коде, показанном ниже:

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student = new Student();
            obj_Student.setId(12);
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}
-1
задан Sergei Mikhailovskii 15 January 2019 в 09:35
поделиться

2 ответа

Видите, вы здесь не правы

@Override
    public int getCount() {
        return 0;
    }

Сделайте это

 @Override
    public int getCount() {
        return songs.size();
    }

Также удалите эти два метода:

 @Override
    public Object getItem(int position) {
        return null;
    }

    @Override
    public long getItemId(int position) {

    return 0;
}

Объяснение [1110 ] Адаптер использует метод getCount (), чтобы определить размер списка, и просмотр повторного просмотра, который вы возвращаете 0, означает, что у вас есть 0 элементов в просмотре списка. На самом деле нам нужно вернуть общий размер элементов, который составляет songs.size().

Надеюсь, что это даст вам правильное руководство.

0
ответ дан Nouman Ch 15 January 2019 в 09:35
поделиться

Внесите следующие изменения в свой класс адаптера и проверьте один раз

@Override
public int getCount() {
    //return 0;
    return songs.size();
}
0
ответ дан Vickyexpert 15 January 2019 в 09:35
поделиться
Другие вопросы по тегам:

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