领域查询equalTo导致nullpointerexception

时间:2015-02-05 09:48:25

标签: android realm

我试图在领域进行查询。但我一直在equalTo(" id",38)

中得到一个空指针异常

这是一个例外:

Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.Object java.util.Map.get(java.lang.Object)' on a null object reference
    at io.realm.RealmQuery.getColumnIndices(RealmQuery.java:140)
    at io.realm.RealmQuery.equalTo(RealmQuery.java:199)
    at es.treenovum.paedocuments.services.OfflineService$WidgetOpsNewest.loadTags(OfflineService.java:340)
    at es.treenovum.paedocuments.services.OfflineService$WidgetOpsNewest.doInBackground(OfflineService.java:228)
    at es.treenovum.paedocuments.services.OfflineService$WidgetOpsNewest.doInBackground(OfflineService.java:1)
    at android.os.AsyncTask$2.call(AsyncTask.java:288)
    at java.util.concurrent.FutureTask.run(FutureTask.java:237)
    ... 3 more

异常发生在equalTo行:

Category categoryResult = realm.where(Category.class)
      .equalTo("id", category.getId())
      .findFirst();

int category.getId()不为null或为空。境界也不是。

如果是我第一次运行应用程序,则db为空。这会导致这个吗?不应该在结果中返回null或0而不是抛出异常吗?

编辑:添加了类别类。 eclipse生成的所有getter和setter。

import io.realm.RealmObject;
import io.realm.annotations.RealmClass;

import com.google.gson.annotations.SerializedName;

@RealmClass
public class Category extends RealmObject {

    @SerializedName("id")
    private int id;

    @SerializedName("text")
    private String text;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getText() {
        return text;
    }

    public void setText(String text) {
        this.text = text;
    }
}

0 个答案:

没有答案