我正在使用可變陰影,我有一個類似的東西
val selectedEntryIds: LiveData<Set<Long>>
get() = _selectedProductIds
private val _selectedProductIds = MutableLiveData<MutableSet<Long>>(mutableSetOf())
但是我收到一個錯誤,說型別不匹配。
uj5u.com熱心網友回復:
out像這樣使用方差注釋:
val selectedEntryIds: LiveData<out Set<Long>>
get() = _selectedProductIds
告訴編譯器 LiveData 只會產生這樣的集合。查看:
https://kotlinlang.org/docs/generics.html#declaration-site-variance
uj5u.com熱心網友回復:
您可以執行以下操作
val selectedEntryIds: LiveData<Set<Long>>
get() = _selectedProductIds as LiveData<Set<Long>>
private val _selectedProductIds = MutableLiveData<MutableSet<Long>>(mutableSetOf())
以將MutableLiveData<..>轉換為常規LiveData<..>物件。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/396677.html
上一篇:Android檔案代碼示例中可能存在錯誤,還是我遺漏了什么?
下一篇:型別void上不存在屬性
