android-livedata相关内容

我如何才能使实时数据观察器基于用户单击事件并接受一些用户输入而工作,但是应该从onCreate开始观察?

我进行了改造,然后是存储库,然后是视图模型,然后是视图,但是在单击按钮观察器时不会在onChanged中观察到.来自onClick的OnClicking on按钮,一切正常.我在logcat中收到API响应,但是在onChanged中却没有调用它! ManualLicenseKeyViewModel 代码: public class ManualLicenseKeyViewMod ..
发布时间:2020-08-27 18:44:54 Java开发

Android LiveData列表未更新

我正在使用Android LiveData和Room Database更新列表. 我有一个笔记列表,上面有一个勾号,将它们标记为“完成". 如果将它们标记为完成,则将它们从当前列表中删除(而不是从数据库中删除),以便它们可以显示在另一页上. 但是将它们标记为完成不会更新我的列表. DAO: @Dao public interface NoteDao { ..
发布时间:2020-08-27 18:42:43 移动开发

使用应用程序创建ViewModel

我试图将数据设置到我不希望保存任何活动引用的文件中的ViewModel上. A类->在ViewModel中将数据设置到LiveData上 具有Application类引用,但不包含活动或片段 B类->从ViewModel中的LiveData读取数据 对此活动有参考. B类可以随Activity的配置更改一起销毁并重新创建. 类A持久存储在内存中,并将设置数据保存到LiveData ..
发布时间:2020-08-27 18:42:39 移动开发

从不同的LiveData来源填充适配器

我正在玩LiveData,想了解它可以做什么. 我想通过开关(如果需要,可以使用过滤器)将来自不同来源的数据填充到RecyclerView中. 在适配器内部过滤值不是一种选择. 因此,我决定在视图模型中使用 MediatorLiveData . 道: @Query("SELECT * FROM tasks WHERE completed = 0") LiveData ..

将新列表提交给RecyclerView ListAdapter时,diff检查始终为areContentsTheSame()返回true

我正在使用MVVM体系结构构建一个简单的订购应用程序.我在ProductsFragment中使用RecyclerView列出了所有可以订购的产品.我还在ViewModel中使用LiveData,在Fragment中可以观察到它,以检查对产品列表的任何更改. 在我的列表项中,我有3个按钮:1个按钮,用于将产品添加到购物篮中;另一个按钮,用于增加客户想要添加到购物篮中的数量;第三个按钮,用于减少 ..

在Fragment中为ViewModelProvider使用哪个ViewModelStoreOwner?

我正在创建一个测试活动,以更新MyViewModel中的一些文本. 我想在片段中观察这些变化,但是当我使用 时 MyViewModel myViewModel = new ViewModelProvider(this).get(MyViewModel.class); 它为我提供的MyViewModel实例与活动中使用的实例不同,这导致片段中的onChanged()回调未被调用. ..

活动无法转换为LifecycleOwner

我想将Room与LiveData一起使用,在其他项目中我已经使用过它,但是在这一项目中,我无法使其正常工作.当我尝试观察实时数据时,它无法将我的活动转换为生命周期活动,但是,我正在使用AppCompatActivity,甚至尝试覆盖getLifecycle方法(在以前的项目中对我有用).我什至尝试使用AndroidX,但仍然存在相同的问题:( 这是我的活动(部分活动): import ..

android livedata进行顺序调用

我正在使用翻新,实时数据.我的项目有一种情况,我必须进行网络呼叫的顺序.如果任何一个失败,它应该返回错误. 目前我有两个实时数据观察员来完成工作,这不是一个好的方法,所以我想知道更好的方法或示例代码来满足这种要求. 注意:我没有使用Rxjava. 查看代码基本逻辑 String id = "items/1233"; //ID which has to to be d ..
发布时间:2020-08-27 18:41:51 移动开发

从其他类更新视图模型

我试图了解ViewModel和LiveData. 在MainActivity中,我正在观察LiveData 在MyTask中,我正在LiveData上设置数据,该数据应显示在活动中. 问题是MyTask中设置的数据没有在UI上更新. MainActivity public class MainActivity extends AppCompatActivity { ..
发布时间:2020-08-27 18:41:47 移动开发

如何使用ViewModel,存储库和LiveData访问Room db

我是android开发的新手.在我的应用程序中,我需要在数据库中有一个用户表.我已经使用room创建了数据库.现在,如果我允许在主线程中运行数据库,则我的应用程序运行良好.但是,我不想在主线程中运行它.因此,我创建了存储库和viewmodel类,并使用viewmodel在主线程中调用db.仍然,如果我没有在数据库建立语句中放入allowMainThreadQueries(),则会弹出java.la ..

带有LiveData,存储库和ViewModel的Room Database如何一起工作?

我是Android Studio开发的新手,大部分工作都很简单.这些概念似乎还很新,而针对它们的Google文档编写得很差,或者使我非常困惑.即使在这里看着其他问题,也不足以为我解决这个问题. 到目前为止,我的应用程序中有一个用户注册或登录,该用户的字符被保存到数据库中或分别从数据库中检索到.在当前状态下,登录和注册以及数据库插入和检索其字符的工作将相应地更新UI. 我有一些片段会改变 ..

调用getValue()后,LiveData对象保持为空

我想更新LiveData对象上存储库内对象的成员变量.问题是,如果我调用了getValue()方法,尽管该值确实存在于我的RoomLibrary中,但我仍会收到NullPointerException. 我现在的问题是,如何从LiveData对象获取值,而无需调用observe()方法? (我无法在我的存储库中调用观察方法,因为该方法要我输入LifeCycleOwner-引用,该引用在我的存 ..
发布时间:2020-08-27 18:40:22 其他开发