最近,我使用了MVVM架构和带有观察者的Livedata。我可以使用Transformation.switchmap()。但我想使用另一种方法。我不知道这是对还是错。我从存储库返回livedate值,然后获取可变的实时数据。然后通过get()将其赋值给Livedata。最后在片段中使用观察者。没有工作。它似乎返回空值,且不是由新值触发。lateinit var myViewModel: allInfoViewMode
我尝试使用MutableLiveData和数据库中的预填充值,但是Observer总是以book的形式返回null。我需要将它保持为MutableLiveData,而不是LiveData,因为我必须在某些地方按程序设置它。因此,我使用从DB检索的setValue调用LiveData。observe(getViewLifecycleOwner(), book -> {
... // When fragme
当我创建聊天应用程序时,我使用的是Firebase。它工作得很好,只有一个问题,那就是每次我从Firebase获取完整的数据列表时,当向其中添加或删除新项目时。我想要的是,只有新添加的记录应该来自Firebase,而不是整个数据列表。= null) {
MY_ARRAYLIST.clear(); // I NEED TO CLEAR THE ARRAY-LIST TO GET THE REFRES
当我旋转设备时,该函数将运行两次,如果再次旋转,则该函数将运行3次,依此类推。如果我转到另一个片段,然后返回到仪表板片段,这不是问题。看起来,每次我旋转屏幕时,都会注册实时数据观察者,而不是每次我分离和重新附加片段时。 private val binding get() = _binding!!>>()
val yLims