Android 观察ArrayList中的添加和删除事件

Android 观察ArrayList中的添加和删除事件,android,mvvm,android-livedata,android-viewmodel,Android,Mvvm,Android Livedata,Android Viewmodel,在我的应用程序中,我试图用Android架构库实现MVVM设计模式。为此,我创建了一个ViewModel类,其中包含一些LiveData对象 public class NotesViewModel extends AndroidViewModel { private ArrayList<Note> notes; private MutableLiveData<ArrayList<Note>> allNotes; private Mut

在我的应用程序中,我试图用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;
    }

    // ...

这个解决方案的问题是,我无法获取用户删除或添加的特定便笺;只有整个清单。那我该怎么做呢?我是否必须为用户可以执行的每个事件创建一个
LiveData
对象?或者有更好的方法吗?

一个可能的解决方案是使用。

我找到了一个非常好的方法来处理这个问题,使用
ObservableArrayList
。我为此创建了一个库,并添加了一些有用的附加功能。请随时向我发送任何反馈(这是我的第一个库)和请求

请注意,
自述文件
当前不是最新的,因为我正在内部更改某些内容。我会尽快更新它。我还将很快添加一个示例应用程序

    // ...

    public void addNote(Note note) {
        notes.add(note);
        allNotes.setValue(notes);
    }
}