下面的代码显示了一个简单的数据库查询,它得到一个"非活动组":
viewModel.getInactiveGroups().observe(this, new Observer<List<Group>>() {
@Override
public void onChanged(List<Group> inactiveGroupList) {
if (inactiveGroupList == null){
int activeGroupNumber = ***I don't know what to do here***;
if (activeGroupNumber != 0)
buttonViewActiveGroups.setVisibility(View.VISIBLE);
} else {
//Rest of code to display list in recyclerview
}
}
});
当非活动组的列表为空时,我需要检查是否有任何活动组,以使按钮可见
问题是,我不知道我应该如何在onChanged中进行新的查询,是否有必要使用LiveData进行查询,或者我可以使用什么方法?
基本上,这是我需要的查询:SELECT COUNT(*) FROM Group WHERE isActive=1
这是一个包含Room、ViewModel和Repository的数据库,我不附加更多代码,因为我认为没有必要,我只怀疑在onChanged方法中进行新查询的方式
在不了解或不了解您的数据模型的情况下,您似乎可以在Dao中创建另一个查询函数,并在ViewModel中创建一个函数来调用它并更新相关的LiveData。那么,也许您将ActiveGroups
作为另一个LiveData字段?