Я начал использовать «Realm» и не могу понять, как получить все результаты со значением равным истине.
Взгляните на мой код ниже:
Java-класс
@RealmClass
public class Bookmark extends RealmObject {
private java.lang.String IdBookMark;
private boolean BookMarkActive;
public String getIdBookMark() {
return IdBookMark;
}
public void setIdBookMark(String idBookMark) {
IdBookMark = idBookMark;
}
public boolean isBookMarkActive() {
return BookMarkActive;
}
public void setBookMarkActive(boolean bookMarkActive) {
BookMarkActive = bookMarkActive;
}
}
Функция:
private boolean AnyBookMark (){
Realm realm = Realm.getInstance(getContext());
RealmQuery<Bookmark> query = realm.where(Bookmark.class);
query.contains("BookMarkActive","true");
RealmResults<Bookmark> userBookmarks = query.findAll();
return userBookmarks.isEmpty();
}
Ошибка:
НЕИСПРАВНОЕ ИСКЛЮЧЕНИЕ: основной процесс: gon250.dublinbikes, PID: 2624 java.lang.IllegalArgumentException: поле «BookMarkActive»: несоответствие типов. Было STRING, ожидалось BOOLEAN. в io.realm.RealmQuery.getColumnIndices(RealmQuery.java:146) в io.realm.RealmQuery.contains(RealmQuery.java:816) в io.realm.RealmQuery.contains(RealmQuery.java:802) в tabs.Tab2. AnyBookMark (Tab2.java: 55) в tabs.Tab2.onCreateView (Tab2.java: 33)
Версия:
скомпилировать «io.realm: realm-android: 0.78.0»
Каков правильный способ получить все результаты с BookMarkActive
равным true
.