LiveData onChanged仅在第一次触发

时间:2019-02-01 19:18:37

标签: android android-fragments android-lifecycle android-livedata

我在使用房和LiveData一个Android应用MVVM工作。

在我的LineDao,我方法返回lastUpdateTime,如下所示:

CREATE INDEX ProcessID on table1(ProcessID) INCLUDE (id)

然后,在存储库我有这样的方法:

@Query("Select lastUpdateTime from Line ORDER BY lastUpdateTime DESC LIMIT 1")
LiveData<LocalDateTime> getLastUpdate();

在LinesViewModel中,我有:

public LiveData<LocalDateTime> getLastLinesUpdate ()
    {
        return  database.lineDao().getLastUpdate();
    }

然后,最后在该片段中,有:

private LiveData<LocalDateTime> lastLinesUpdate;
public LiveData<LocalDateTime> getLastLinesUpdate() {
    return lastLinesUpdate;
}

public LinesViewModel(Application application) {
repository = Repository.getInstance(application);
getLastLinesUpdate = repository.getLastLinesUpdate();
}

我期待与此代码时线对象在数据库中被更新时,即当该查询结果改变,我将在片段接收该事件(viewModel.getLastLinesUpdate()。观察...)。 但是,我没有得到初始事件后,任何东西。

我想念什么?

0 个答案:

没有答案