Backend zwraca wartość null Int? Jak napisać wartość zerowalną?Wpisz wartość parametru wartościowania w kotlinie
date class Foo (var value: Int?){
constructor(source: Parcel) : this(
source.readInt()
)
override fun writeToParcel(dest: Parcel, flags: Int) {
dest.writeInt(value) // doesn't compile - writeInt expect no null value
}
}
Teraz mam rozwiązanie:
dest.writeInt(value?: -1)
a następnie sprawdzić na -1
lub napisać Int jak ciąg, a następnie użyć wartości ...
ale myślę, że to brzydki i zły.
ROZWIĄZANE! Moja odpowiedź:
source.readValue(Int::class.java.classLoader) as Int?,
dest.writeValue(value)
nie 'dest.writeInt (wartość !!)' działa? O ile dobrze pamiętam, Android nie przejmuje się, jeśli przekażesz wartość "null" do Parcel. –
!! - Wystąpił wyjątek null i awaria! – Yvgen
Jeśli znalazłeś odpowiedź na swoje pytanie, powinieneś opublikować ją jako odpowiedź i zaakceptować. – Bryan