java.lang.ArrayIndexOutOfBoundsException:rowIndex>可用行:0> 0

时间:2017-02-28 11:40:39

标签: android runtime-error row realm indexoutofboundsexception

我尝试用android中的Realm读取mydata,调用两个像这样的数据库

Fragment1.class

   public Model1 searchPerson1(int personId) {
    RealmResults<Model1> results1 = myRealm.where(Model1.class).equalTo("id", personId).findAll();

    myRealm.beginTransaction();
    myRealm.commitTransaction();

    return results1.get(0);
}

Fragment2.class

    public Model2 searchPerson2(int personId) {
    RealmResults<Model2> results2 = myRealm.where(Model2.class).equalTo("id", personId).findAll();

    myRealm.beginTransaction();
    myRealm.commitTransaction();

    return results2.get(0);
}

它在RealmResults中显示以下错误。我在不同的片段中使用这两种方法。请有人帮帮我

java.lang.ArrayIndexOutOfBoundsException: rowIndex > available rows: 0 > 0

1 个答案:

答案 0 :(得分:1)

在尝试从位置获取对象之前,需要检查查询结果中的对象计数:

RealmResults<QuestionRealm> rsQues;
if(rsChap.size() > position && position >= 0){
    rsQues = myRealm.where(QuestionRealm.class)
                    .equalTo("chapter_id",rsChap.get(position)
                    .getId())
                    .findAll();
}