This question already has answers here:
Cannot retrieve field values from realm object, values are null in debugger
                                
                                    (3个答案)
                                
                        
                                2年前关闭。
            
                    
我正在尝试获取保存在Realm中的值,但我不知道该怎么做..该值始终为null ..但是,当我调试代码时,该值将尽可能显示见下图:


  注意:BookMarkActiveidBookMark在选定的值中具有正确的值
  行,但下面没有任何显示。


java - Android-Realm如何获取值(value)-LMLPHP

我如何获得价值?

看一看与图中相同的代码:

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";
}


书签类:

@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;
    }
}



  注意:领域版本'io.realm:realm-android:0.87.2'

最佳答案

您无法信任由Realm管理的Android Studio for RealmObjects中的调试视图。它们只是存储在本机内存中的真实基础数据的代理对象。这意味着该字段将仅显示该字段的默认值:0表示intnull表示String和引用。

您可以在此处了解更多信息:http://realm.io/docs/java/latest/#debugging

10-06 10:58
查看更多