首页 > 解决方案 > andorid room LiveDate return 0 正常查询返回对象

问题描述

我有问题我有两个查询

@Query("SELECT * from parking")
fun getParkingList(): LiveData<List<Parking>>

@Query("SELECT * from parking")
fun getParkingList2(): List<Parking>

第一个查询返回 0 个对象,但第二个查询返回 4 个对象,为什么会这样?

标签: androidandroid-room

解决方案


我猜是因为返回 LiveData 的查询是异步的,所以当时它是 0。如果您要返回 LiveData,那么您应该观察它。例如像这样

parking.observe(this, new Observer<List<Parking>>() {
@Override
public void onChanged(@Nullable List<Parking> parking){

}
});

推荐阅读