Условие проверить, есть ли в Android Room Database запись определенного идентификатора - PullRequest
0 голосов
/ 17 апреля 2020

Я пытаюсь получить последнюю страницу студента, которую я могу получить с помощью мнения эксперта.
Моя проблема в том, что я могу получить последнюю страницу студента, данные которого уже были введены. Но если я ввожу данные в первый раз, мне нужно проверить условие, есть ли в моей базе данных предыдущая запись об этом ученике. Мне нужно проверить в моем разделе Добавить запись. Я не могу получить правильное условие.

Это мое имя студента 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 () для ссылки на пустой объект

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...