1
我使用Realm將數據存儲在我的項目中。我有一個奇怪的問題。 我的模型:領域數據isValid()爲false,但可以獲取數據
Class Post extends RealmObject implements Serializable{
@PrimaryKey
int id;
...
RealmList<Post> subdata;
RealmList<Post> getSubdata() {
return subdata;
}
}
我平時檢查getSubdata() != null && getSubdata().isValid()
使用附屬數據。問題是當我檢查getSubdata().isValid()
返回false
,但我仍然在subdata
中獲取數據。沒有檢查isValid
沒關係。文件說是這樣的:
/**
* Checks if the {@link RealmList} is managed by Realm and contains valid data i.e., the {@link io.realm.Realm}
* instance hasn't been closed.
*
* @return {@code true} if still valid to use, {@code false} otherwise or if it's an unmanaged list.
*/
public boolean isValid() {
//noinspection SimplifiableIfStatement
if (realm == null || realm.isClosed()) {
return false;
}
return isAttached();
}
更新調試:
我不知道爲什麼當Realm無效時可以獲取數據。但在我的應用程序,每當領域關閉,我試圖從'RealmObject'獲取數據,我的應用程序將拋出異常關於領域是無效 –
這就是我問這個問題的原因@PhanVanLinh –
它是託管或非託管數據?我猜測非託管 –