在我的应用程序中,我正在尝试使用 Android 架构库来实现 MVVM 设计模式。为此,我创建了一个ViewModel
包含一些LiveData
对象的类。
public class NotesViewModel extends AndroidViewModel {
private ArrayList<Note> notes;
private MutableLiveData<ArrayList<Note>> allNotes;
private MutableLiveData<Note> selectedNote;
public LiveData<Note> getAllNotes() {
return allNotes;
}
// ...
在我的 UI 中,用户可以添加和删除笔记。为此,我认为在我的中创建添加和删除方法NotesViewModel
并直接在 ArrayList 上操作就足够了,如下所示:
// ...
public void addNote(Note note) {
notes.add(note);
allNotes.setValue(notes);
}
}
我对这个解决方案的问题是我无法获得用户删除或添加的特定注释;只有整个列表。那么我该怎么做呢?我是否必须为LiveData
用户可以执行的每个事件创建一个对象?还是有更好的方法来做到这一点?