Мне нужно сделать простой запрос в Realm, получить список объектов MyModel, а затем использовать его где-то еще в моем приложении. Бывает, что когда я запрашиваю Realm, каждый объект имеет нулевые значения, но toString возвращает ожидаемые значения.
Модель:
@RealmClass
public class MyModel extends RealmObject implements Serializable {
public static final String KEY_MODEL = "key_myModel";
@PrimaryKey
private int id;
private String myStr;
private int myInt;
//.... getters and setters
@Override
public String toString() {
return "id = " + id
+ "\nmyStr = " + myStr
+ "\nmyInt = " + myInt;
}
}
Как сохранить значение:
public static void storeModel(MyModel model) {
Realm realm = Realm.getDefaultInstance();
realm.beginTransaction();
realm.copyToRealm(model);
realm.commitTransaction();
}
Как получить объекты:
public static RealmList<MyModel> getNewElementsFromIndex(int indexFrom) {
Realm realm = Realm.getDefaultInstance();
RealmResults<MyModel> allValues = realm.where(MyModel).greaterThan("id", indexFrom).findAll();
RealmList<MyModel> finalList = new RealmList<MyModel>();
finalList.addAll(allValues.subList(0, allValues.size()));
return finalList;
}
Когда я вызываю getNewElementsFromIndex(value), я получаю список элементов, но все элементы в этом списке имеют параметр myStr = null и myInt = 0.
Что я делаю не так?
allValues
? - person Tim   schedule 25.08.2016getInstance()
, 3.) то, что вы описываете, является задокументированным и ожидаемым поведением. - person EpicPandaForce   schedule 25.08.2016