在我的应用中,我尝试使用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;
}
// ...
在我的用户界面中,用户可以添加和删除笔记。为此,我认为在NotesViewModel
中创建添加和删除方法并直接在ArrayList上操作就足够了,如下所示:
// ...
public void addNote(Note note) {
notes.add(note);
allNotes.setValue(notes);
}
}
我对这个解决方案的问题是我无法获得用户删除或添加的特定注释;只有整个清单。那我该怎么做呢?我是否必须为用户可以执行的每个事件创建一个LiveData
对象?或者有更好的方法吗?