如何在ViewModel中设置初始化并设置数据类参数LiveData的值



这是我的数据类

SaleData(数据类(

data class SaleData(
var saleType: Int = 1,
var saleDetail: Int,
var salePrice: Int,
var saleRate: Int,
var printAmount: Int
)

ViewModel

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的saleType("DataLog","+saleData.value?.saleType(,它返回null。我将saleType更改为Int,

private val _saleType: MutableLiveData<Int> = MutableLiveData()
val saleType: LiveData<Int>
get() = _saleType

它成功返回数据。所以我有一个问题。如何保存和查询对象类的liveata值?

_saleData.value?.saleType = 1

在这里,您必须使用not null对象初始化livedata值soz如果你有SaleData类:

_saleData.value = SaleData()

之后,值将不会为空

最新更新