问题标签 [mutablelivedata]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - android:mutablelivedata 更改不会更新 UI
我正在使用 MutableLiveData 来存储用户所做的选择。该值是从另一个活动设置的。所以 onResume 我正在打电话
但这不会更新 UI,除非我调用 invalidateall()。
这是 MutableLiveData 的预期行为吗
android - SingleLiveEvent 实际上是 Android 架构组件库的一部分吗?
我一直在使用SingleLiveData
可以在这里找到的课程。我的问题是:
SingleLiveData
实际上是Android架构组件的一部分吗?使用它是个好主意吗?
java - 为什么在进行数据更改之前调用 LiveData onChanged?
语境
用来MutableLiveData
保存一个值。Button
点击应该增加值。
问题
MutableLiveData
's似乎在用于更改值Observer.onChanged()
之前被调用。MutableLiveData.setValue()
例如,在Button
点击之前,onChanged
日志发生在设置初始值之后(onChanged
纳秒大于新值纳秒)。但是,Button
单击后,onChanged
日志会在设置新值之前发生(onChanged
纳秒小于新值纳秒)。为什么会发生这种情况?:
Button
单击之前(onChanged
设置初始值后预计会发生日志):
单击按钮后(在设置新 val 之前意外onChanged
发生日志):
代码
android - 如果网络请求失败,LiveData 不会触发两次
LiveData
当我的 httprequest 成功时,我的对象被调用了两次,但如果发生错误,它只被调用一次,导致 UI 显示一个空列表,因为我的验证Error
被跳过,因为没有触发警报。
我的存储库代码
我的 BaseRepository 代码
我的片段代码
最后,我的 ViewModel 代码
总而言之,在失败的情况下,为什么observer callback
only 会被调用一次?因为我已经对其进行了调试,并且在两种情况下(成功和失败),该方法asLiveData
都称为 TWICE,但只有在成功的尝试中回调也被称为 TWICE,失败时observer callback
它仅称为 ONCE。
编辑:添加了异步任务代码
java - 为什么在 LiveData 列表中更改值时不调用 onChanged?
语境
用于MutableLiveData<List<Integer>>
保存值。当 中的第一个值(为简洁起见,以第一个值为例)List
递增时,TextView
应更新onChanged
以显示 中的第一个值List
。
目标
- 增加 a 中的第一个值
List
TextView
当第一项List
更改时更新
问题
- 点击
Button
时,第一个值List
增加但MutableLiveData.onChanged()
没有被调用,这是为什么呢? - 是否
MutableLiveData
只响应它的setValue
方法? - 这可以通过
List
包含MutableLiveData
整数来解决吗(即,MutableLiveData<List<MutableLiveData<Integer>>
有问题,因为需要监听器中的每个项目List
)? - 有没有更好的方法来实现目标?
代码
android - 在 Android 中向 LiveData 传递值
我是开发新手,我知道堆栈不适用于“完整代码请求”。但我被卡住了,找不到解决方案。
我正在使用Room
具有两列的数据库 -firstName
和lastName
. 我正在使用传递的firstName
参数加载数据库:
它按预期工作。
但是..当我想更新Passenger
时,我需要一次又一次地填充数据。来了LiveData
和observer
。
但是.. setValue
inLiveData
是私有的,我不能为查询行发送任何参数。有 MutableLiveData,但我该如何实现呢?
android-livedata - Android LiveData:无法接收 Observable 的更新?
我正在使用 android Architecture Component LiveData 使用 Observable LiveData 通知 UI,但它没有被触发。下面是代码片段。
授权库
登录视图模型
登录片段
上面的代码无法观察 _showOtpScreen 它只被调用一次,值为空,并且在服务调用完成后不再被调用。
android - LiveData、MutableLiveData 之间的区别
我知道MutableLiveData
extends LiveData
,但是它们之间有什么区别(在使用中)。什么是适当的用例,意味着何时使用两者中的正确一个?
android - 如何观察数据库的变化以更新 LiveData
我正在将应用程序从LoaderManager
with迁移Callbacks
到使用ViewModel
and的实现LiveData
。我想继续使用现有的SQLiteDatabase
.
主要实现工作正常。Activity
实例化ViewModel
并创建一个Observer
更新 的,如果View
它观察到 中的MutableLiveData
变化ViewModel
。通过使用. ViewModel
_SQLiteDatabase
ContentProvider
但是我有其他可以对数据库进行更改的活动,虽然MainActivity
被停止但没有被破坏。还有一个后台服务可以MainActivity
在前台更改数据库。
其他活动和后台服务可以更改数据库中的值,因此会对MutableLiveData
.ViewModel
我的问题是:如何观察变化SQLiteDatabase
以便更新LiveData
?
这是一个简化版本MainActivity
:
这是我的ViewModel
:
android - 在 Kotlin 中未触发 LiveData 观察者
我在我的项目中使用 LiveData 和 Kotlin。
我一直面临一个间歇性问题,其中附加到 MutableLiveData 对象的观察者有时不会被触发。
观察者附加在活动 onCreate() 中,(活动作为生命周期所有者)在 ViewModel 中的 LiveData 对象上。
ViewModel 实例化:
设置观察者:
LiveData 对象正在 ViewModel 类的构造函数中初始化。
请注意,这是一个间歇性问题,并非每次都发生,即超过一半的时间完全按预期工作。
有什么我做错了吗?您可以推荐此实现的更好做法吗?