0

我使用 LiveData + MVP 架构。

我在 onCreate 中的观点对 Presenter 说:

        presenter = MyApplication.me().getAppComponent().getBasketPresenter();
        presenter.attachView(this);
        presenter.viewIsReady();

我的演示者LiveData从 Room DB 获得:

LiveData<List<BasketItem>> listLiveData = MyApplication.me().getDatabase().basketDao().getAll();

之后我需要观察这个 LiveData:

    listLiveData.observe(getView(), basketItems -> {
        callView(view -> {
            view.setData(basketItems);
        });
    });

在观察回调中,我可以检查viewcallView 方法:

void callView(ViewAction<T> action) {
        if (getView() == null) return;
        action.call(view);
    }

但是listLiveData.observe(getView()呢?我怎样才能检查它?我需要写:

if (getView() == null) return;?

一般我做或做的是否正确?我在演示者中获得 LiveData 并在视图中观察?

4

0 回答 0