Я пытаюсь получить последнюю страницу студента, которую я могу получить с помощью мнения эксперта.
Моя проблема в том, что я могу получить последнюю страницу студента, данные которого уже были введены. Но если я ввожу данные в первый раз, мне нужно проверить условие, есть ли в моей базе данных предыдущая запись об этом ученике. Мне нужно проверить в моем разделе Добавить запись. Я не могу получить правильное условие.
Это мое имя студента spinner
selectStudentName.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(final AdapterView<?> adapterView, View view, final int position, final long l) {
allStudentsName = new Student();
allStudentsName = Objects.requireNonNull(studentViewModel.getAllStudents().getValue()).get(position);
newRecordViewModel.getLastPageOfStudent(allStudentsName.getId()).observe(AddRecord.this,
newRecord -> Toast.makeText(getApplicationContext(), String.format(Locale.ENGLISH, "Latest page for %s is %s ",
allStudentsName.getStudentName(), newRecord.getLastPage()), Toast.LENGTH_LONG).show());
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
Возвращает последнюю страницу, только если запись ранее введена, если добавлен новый студент и если я хочу добавить запись в первый раз , мое приложение вылетает из-за того, что в таблице записей еще не создан идентификатор или строка, мне нужно проверить условие. Как я могу это сделать ? Я использую условие как
if(String.valueOf(allStudentsName.getId()).equals(String.valueOf(newRecord.getRecordId())) ){
Toast.makeText(AddRecord.this, "Page: " + newRecord.getLastPage(), Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(AddRecord.this, "no record found", Toast.LENGTH_SHORT).show();
}
Но я получаю java .lang.NullPointerException: попытка вызвать виртуальный метод int Model.NewRecord.getRecordId () для ссылки на пустой объект