У меня есть приложение для Android, которое использует Room для работы с базой данных.В одном из фрагментов в onViewCreated я получаю объект из базы данных, используя простой запрос SELECT * FROM table WHERE id = ?
.Идентификатор запроса хранится в наборе аргументов фрагмента.Это работает нормально, но когда я меняю ориентацию и фрагмент воссоздается системой, тот же запрос возвращает ноль, и я не могу получить эту запись из любого другого запроса в приложении.
Я проверил идентификатор, он делаетне исчезают после изменения ориентации, и я использовал отладчик для перехвата всех запросов к базе данных, были только запросы SELECT, без DELETE, UPDATE или INSERT
UPD: код
фрагмент
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_lesson_client, container, false);
ButterKnife.bind(this, view);
lesson = App.Companion.getDb().lessonDao().getLesson(getArguments().getLong("lesson"));
DAO
@Query("SELECT * FROM Lesson WHERE id == :id")
fun getLesson(id: Long): Lesson?