Я пытаюсь удалить заметку из базы данных комнат, вызывая метод, когда пользователь долго нажимает на заметку. Я настроил onLongClickListener на адаптере RView:
viewHolder.itemView.setOnCLickListener{
NotesFragment().deleteSingleNote(notesID)
}
В NotesFragment, метод выглядит следующим образом:
fun deleteSingleNote(notesID: Long) {
notesFragmentViewModel.deleteSingleNoteFromDB(notesID)
}
и в ViewModel метод удаляет заметку через сопрограмму.
Приложение вылетает при длинном щелчке, говоря, что lateinit notesFragmentViewModel не инициализировалась, указывая на строку onLongCLickListener и строку NotesFragment, которые я вставил выше.
Дело в том, что примечания заполняются на экране через переменную NotesFragmentViewModel LiveData, которая содержит все примечания, поэтому ViewModel очень сильно инициализируется Когда я долго нажимал на элемент.
Я попытался инициализировать ViewModel на адаптере, но я получил исключение, связанное с тем, что ViewModel не разрешено инстанцировать на чем-то, кроме фрагмента / действия.
Это мой первый пост на SOverflow, поэтому, пожалуйста, дайте мне знать ш, если я сделал что-то не так