LiveData<List> 的值只有一个元素
the value of LiveData<List> just have one element
我查询我的数据库如下:
@Query("SELECT * FROM employees")
public LiveData<List<Employee>> getAllEmployees();
使用一个 MediatorLiveData,我观察到这样的结果:
data.addSource(DAO.getAllEmployees(), employeeList -> {
if (employeeList==null) return;
data.setValue(employeeList);
});
每次将数据插入 employees table 时,都会调用此观察者,但问题是 employeeList 只有一项,而 db 不止一项。
这是我的错,我在解析器中犯了一个错误,数据库数据被替换了,因为 onConflict = OnConflictStrategy.REPLACE
。
我查询我的数据库如下:
@Query("SELECT * FROM employees")
public LiveData<List<Employee>> getAllEmployees();
使用一个 MediatorLiveData,我观察到这样的结果:
data.addSource(DAO.getAllEmployees(), employeeList -> {
if (employeeList==null) return;
data.setValue(employeeList);
});
每次将数据插入 employees table 时,都会调用此观察者,但问题是 employeeList 只有一项,而 db 不止一项。
这是我的错,我在解析器中犯了一个错误,数据库数据被替换了,因为 onConflict = OnConflictStrategy.REPLACE
。