Android 科特林-王国和包裹

Android 科特林-王国和包裹,android,realm,kotlin,Android,Realm,Kotlin,我用android studio开发android项目。 我想在kotlin中使用onSaveInstanceState()保存领域对象。 我的代码是 @Parcel( implementations = arrayOf(UserRealmProxy::class), value = Parcel.Serialization.BEAN, analyze = arrayOf(User::class)) open class User : RealmObject(

我用android studio开发android项目。 我想在kotlin中使用
onSaveInstanceState()
保存领域对象。 我的代码是

@Parcel( implementations = arrayOf(UserRealmProxy::class),
         value = Parcel.Serialization.BEAN,
         analyze = arrayOf(User::class))
open class User : RealmObject() {
    open var name: String? = null

    @ParcelPropertyConverter(ListParcelConverter::class)
    open var Items: RealmList<Item>? = null
}
当然,UserRealmProxy已经存在,因为项目已经编译。 另外,
@ParcelPropertyConverter(ListParcelConverter::class)
不工作。 它会在运行时导致异常:

'java.io.NotSerializableException: io.realm.RealmList'
但这段代码在java中编译得很好


我需要你的帮助。

也许你会给setter添加注释。请试试这个

@Parcel( implementations = arrayOf(UserRealmProxy::class),
     value = Parcel.Serialization.BEAN,
     analyze = arrayOf(User::class))
open class User : RealmObject() {
    open var name: String? = null
    open var Items: RealmList<Item>? = null
    @ParcelPropertyConverter(ListParcelConverter::class) set
}
@Parcel(实现=arrayOf(UserRealmProxy::class),
value=Parcel.Serialization.BEAN,
analyze=arrayOf(用户::类))
开放类用户:RealmObject(){
打开变量名称:字符串?=null
打开的变量项:RealmList?=null
@ParcelPropertyConverter(ListParcelConverter::class)集
}

在我的例子中,当我出现以下错误时:“未解析的引用:UserRealmProxy”。如果我有这个包:com.path.model.Album,我必须使用:

import io.realm.com_path_model_AlbumRealmProxy

...
@Parcel(implementations = arrayOf(com_path_model_AlbumRealmProxy::class)

您需要打包而不是重新查询对象吗?首先,我收到了相同的消息
未解析引用:UserRealmProxy
,但它在构建项目后消失。您可以尝试
@field:ParcelPropertyConverter(ListParcelConverter::class)
而不是
@ParcelPropertyConverter(ListParcelConverter::class)吗
?我也有同样的问题。你解决了吗?同样的问题。。你找到解决办法了吗?
import io.realm.com_path_model_AlbumRealmProxy

...
@Parcel(implementations = arrayOf(com_path_model_AlbumRealmProxy::class)