У меня есть приложение, которое представляет список заметок пользователя в MainActivity
. Я хочу от go до SecondActivity
, когда пользователь нажимает на один из пунктов. В SecondActivity
должно отображаться содержимое заметки.
Мне нужно получить идентификатор элемента и отправить его на SecondActivity
. Я могу сделать это с помощью этого запроса:
@Query("SELECT id FROM notes WHERE id == :id")
Note getNote(int id);
Но я не знаю, что делать в ViewModel
. Я создал класс, расширяющий AsyncTask
, который запускает метод getNote (). Я должен вернуть эту заметку AsyncTask
, но поскольку этот класс не создается в Activity, я не могу использовать onPostResult
. после создания AsyncTask
что мне нужно сделать?
это мой ViewModel:
public class NoteViewModel extends AndroidViewModel {
private NoteRepository repository;
private LiveData<List<Note>> allNotes;
public NoteViewModel(@NonNull Application application) {
super(application);
repository = new NoteRepository(application);
allNotes = repository.getAllNotes();
}
LiveData<List<Note>> getAllWords() {
return allNotes;
}
public void insert(Note note) {
repository.insert(note);
}
public void delete(Note note) {
repository.deleteNote(note);
}
}
и это Примечание:
@Entity(tableName = "notes")
public class Note {
@PrimaryKey(autoGenerate = true)
public int id;
private String title;
private String text;
public Note(String title, String text) {
this.title = title;
this.text = text;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTitle() {
return title;
}
}