【发布时间】:2018-01-19 07:54:49
【问题描述】:
在我的应用程序中,我正在尝试使用 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 对象?或者有更好的方法吗?
【问题讨论】:
标签: android mvvm android-livedata android-viewmodel