【发布时间】:2021-07-23 08:07:13
【问题描述】:
这是我的数据类
SaleData(数据类)
data class SaleData(
var saleType: Int = 1,
var saleDetail: Int,
var salePrice: Int,
var saleRate: Int,
var printAmount: Int
)
视图模型
private val _saleData: MutableLiveData<SaleData> = MutableLiveData()
val saleData: LiveData<SaleData>
get() = _saleData
init {
_saleData.value?.saleType = 1
changeSaleType()
}
fun changeSaleType() {
_saleData.value?.saleType = 2
}
但是像 Log.d("DataLog","" + saleData.value?.saleType) 这样记录 saleType,它返回 null。 我将 saleType 更改为 Int,
private val _saleType: MutableLiveData<Int> = MutableLiveData()
val saleType: LiveData<Int>
get() = _saleType
成功返回数据。 所以我有一个问题。 对象类的liveata值如何保存和查询?
【问题讨论】:
-
据我所知,将数据设置为 livedata 不会立即应用。这是因为它习惯于在改变时被观察到。但是,您可以像这样启动您的实时数据; private val _saleData: MutableLiveData
= MutableLiveData(SaleData(...)),给它一个默认值。 -
@March3April4 谢谢,但不是马上我不确定这是存储值的正确方法。