Я бы привел пример, возможно, вам нужно изменить код.Сначала вам нужно изменить данные в реальном времени и подписаться на это, по вашему мнению.Затем в контроллере вы публикуете значение, сообщающее подписчику, что что-то добавляется.Таким образом, асинхронно представление будет предупреждено.
private MutableLiveData<String> databaseLiveData = new MutableLiveData<>();
...
А в классе deleteAsyncTask
вы можете добавить:
protected void onPostExecute(Void result) {
databaseLiveData.postValue("some data deleted");
}
И в классе BorrowedListViewModel
этот метод для доступа из представления добавьте этот метод:
public LiveData<String> getChanger() {
return databaseLiveData;
}
В представлении egActivity добавьте следующее:
private BorrowedListViewModel mBorrowedListViewModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//...
BorrowedListViewModel = ViewModelProviders.of(this).get(BorrowedListViewModel.class);
subscribe();
}
private void subscribe() {
final Observer<String> liveDataChange = new Observer<String>() {
@Override
public void onChanged(@Nullable final String message) {
Log.d("Activity", message);
}
};
liveDataChange.getChanger().observe(this, liveDataChange);
}
Надеюсь, что эта справка.