如何解决致命异常:java.lang.RuntimeException地块:无法编组值Statename = Abra
使用来自parceler.org的@Parcel进行以下代码时,出现此错误。此错误仅发生在Android 10中。我想知道Parceler是否在Android 10中存在已知问题。
Fatal Exception: java.lang.RuntimeException Parcel: unable to marshal value State(name=Abra)
我正在使用具有此版本的Parceler库
implementation 'org.parceler:parceler-api:1.1.12'
kapt 'org.parceler:parceler:1.1.12'
模型类(科特琳)
@Parcel(Parcel.Serialization.BEAN)
data class Address(
override var id: String? = null,@Serializedname("first_name") var firstName: String? = null,@Serializedname("last_name") var lastName: String? = null,var company: String? = null,var abn: String? = null,var street1: String? = null,var street2: String? = null,var street3: String? = null,var street4: String? = null,// not used in front-end but still needed as a response to backend
@Serializedname("country_name") var countryName: String? = null,@Serializedname("country_code") var countryCode: String? = null,var state: String? = null,var city: String? = null,var postcode: String? = null,@Serializedname("telephone_number") var phoneNumber: String? = null,@Serializedname("is_default_shipping") var isDefaultDelivery: Boolean = false,@Serializedname("is_default_billing") var isDefaultBilling: Boolean = false,@Serializedname("user_id") var userId: String? = null // Backend depends on this
) : PaperModel
PaperModel类
interface PaperModel {
var id: String?
}
我使用此地址包裹的地方。
在onCreate方法中
val savedAddress: Address? = savedInstanceState?.let {
Parcels.unwrap(it.getParcelable(KEY_PARCEL_ADDRESS))
}
在onSaveInstanceStateState方法中
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
val addressparcel = Parcels.wrap(editAddressviewmodel.addressInEditing)
outState.putParcelable(KEY_PARCEL_ADDRESS,addressparcel)
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。