Android中字符串类型的RealmList

use*_*484 13 android realm realm-list

我在Android中使用Realm进行本地存储.我正在获得以下响应表单服务器.

[{
    "ListId": 10,
    "Names": ["Name1", "Name2", "Name3", "Name4"]
}]
Run Code Online (Sandbox Code Playgroud)

这是我的模特

   public class Model extends RealmObject {

    private int ListId;
    private RealmList<String> Names = new RealmList<String>()

    public int getListId() {
        return ListId;
    }

    public void setListId(int listId) {
        ListId = listId;
    }

    public RealmList<String> getNames() {
        return Names;
    }

    public void setNames(RealmList<String> names) {
        Names = names;
    }

}
Run Code Online (Sandbox Code Playgroud)

而我正在为ArrayList得到这个

类型参数'java.lang.String'不在其范围内; 应该扩展'io.realm.RealmObject'.

谢谢.

Chr*_*ior 14

RealmLists还不支持简单的字符串.所以你必须将每个String包装到它自己的对象中:

你可以在这里看到一个解决方法:将List <String>的Gson反序列化为realmList <RealmString>

或者在这里:https: //realm.io/docs/java/latest/#primitive-lists

  • 而不只是复制/粘贴链接,一个很好的解释将不胜感激 (32认同)

Yay*_*ano 7

Realm 4.0.0版将添加对RealmList的支持,它可以包含String,byte [],Boolean,Long,Integer,Short,Byte,Double,Float和Date值.

请参阅此拉取请求:

https://github.com/realm/realm-java/pull/5031

领域变更日志:

https://github.com/realm/realm-java/blob/master/CHANGELOG.md