【问题标题】:How to convert UnManaged to Managed List in Realm. I am using Kotlin with MVVM for Android如何在 Realm 中将 UnManaged 转换为 Managed List。我正在使用 Kotlin 和 MVVM for Android
【发布时间】:2019-08-09 09:50:06
【问题描述】:
我在需要使用托管列表的地方使用RealmRecyclerViewAdapter。
有谁知道如何将非托管列表转换为托管列表?
在将非托管列表转换为托管列表时遇到以下错误
Error : Caused by: java.lang.IllegalStateException: Only use this
带有托管 RealmCollection 的适配器,对于非托管列表,您可以
只需使用 BaseRecyclerViewAdapter
这是我的适配器类
class ChannelVideosAdapter(var list: OrderedRealmCollection<RealmMediaListModel>?) : RealmRecyclerViewAdapter<RealmMediaListModel, ChannelVideosAdapter.ChannelVideos>(list,true) {}
【问题讨论】:
标签:
android
kotlin
mvvm
realm
【解决方案1】:
有人知道如何将非托管列表转换为托管列表吗?
您需要从Realm 实例中获取RealmResults,或者从托管 RealmObject 中获取RealmList(从Realm 实例中获取)或RealmResults)。
无法将非托管列表转换为托管列表。
【解决方案2】:
如果你使用RealmRecyclerViewAdapter,你需要传递一个托管的 RealmList 或 RealmResults。
如果您想使用非托管列表,请使用简单的RecyclerViewAdapter。
RealmRecyclerViewAdapter 只有一些方法可以在列表/结果更改时做出反应,但不会发生在非托管列表/结果中。