Я пытаюсь получить значение, которое я сохранил в Realm
, но я не знаю, как это сделать .. значение всегда равно null .. но когда я отлаживаю код, значение появляется, как вы можете видеть на картинке ниже:Android - Realm Как получить значение
Примечание:
BookMarkActive
&idBookMark
имеет правильное значение в выбранном линии, но ниже ничего не появляется.
Как я могу получить значение?
гляньте тот же код на картинке:
public String UpdateBookMarks(String id){
Realm realm = Realm.getInstance(_context);
RealmQuery<Bookmark> query = realm.where(Bookmark.class);
query.equalTo("IdBookMark", id);
Bookmark stationDetails = query.findFirst();
if(stationDetails.getBookMarkActive() == "true"){
stationDetails.setIdBookMark("false");
return "Station has been removed from your bookmark list.";
}else if (stationDetails.getBookMarkActive() == "false"){
stationDetails.setIdBookMark("true");
return "Station has been added to your bookmark list.";
}
return "Error";
}
BookMark класс:
@RealmClass
public class Bookmark extends RealmObject {
private java.lang.String IdBookMark;
private String BookMarkActive;
public String getIdBookMark() {
return IdBookMark;
}
public void setIdBookMark(String idBookMark) {
IdBookMark = idBookMark;
}
public String getBookMarkActive() {
return BookMarkActive;
}
public void setBookMarkActive(String bookMarkActive) {
BookMarkActive = bookMarkActive;
}
}
Примечание: Realm версия «io.realm: область-андроид: 0.87.2 '
Так он выходит из строя, когда вы звоните 'stationDetails.getBookMarkActive()' ', потому что stationDetails' является нулевым? – cylon
Yep ... но значение есть, так как вы можете выбрать выбранную строку на изображении, но я получаю нуль .. вы знаете, что я имею в виду? @ – gon250
Кстати, 'stationDetails.getBookMarkActive()' возвращает строку? Если это так, вы должны сравнить с '.equals (« true »)', иначе сравните его с «true», а не с «true». То же самое относится к ветке else. – cylon