Я использую базу данных области для сохранения данных. Хотя мне удалось сохранить данные String и int, проблема является логической. Я использую флажок и пытаюсь сохранить состояние того, отмечен ли элемент или нет, но я не могу этого сделать, хотя делаю то же самое, что и для данных String и int. В частности, я могу временно сохранить логические данные, но не могу получить данные после закрытия приложения. Я подтвердил, что данные сохраняются сразу после того, как проверил и установил значение по умолчанию после закрытия с помощью отладчика. Кто-нибудь может сказать мне, почему это происходит?
Вот мой код для флажка
mRealm = Realm.getDefaultInstance();
mWordData = mRealm.where(Word.class).equalTo("id", mWordId).findFirst(); //mWordId is sent from another activity by using intent and this mWordData works properly because it doesn't return null
public void onCheckboxClicked(View view) {
// Is the view now checked?
boolean checked = ((CheckBox) view).isChecked();
// Check which checkbox was clicked
switch (view.getId()) {
case R.id.checkButton:
if (checked) {
mRealm.beginTransaction();
mWordData.setChecked(true);
mRealm.copyToRealmOrUpdate(mWordData);
mRealm.commitTransaction();
} else {
mRealm.beginTransaction();
mWordData.setChecked(false);
mRealm.copyToRealmOrUpdate(mWordData);
mRealm.commitTransaction();
}
break;
}
}
@Override
protected void onDestroy() {
super.onDestroy();
mRealm.close();
}
Вот для класса модели
@PrimaryKey
private int id;
private boolean checked;
public void setId(String sid) {
id = Integer.parseInt(sid);
this.id = id;
}
public int getId() {
return id;
}
public void setChecked(boolean checked) {
this.checked = checked;
}
public boolean isChecked() {
return checked;
}
Спасибо.
@EpicPandaForce Вот идентификатор
@PrimaryKey private int id; public void setId (String sid) {id = Integer.parseInt (sid); this.id = id; } public int getId () {идентификатор возврата; }
Вот mWordData
mWordData = mRealm.where (Word.class) .equalTo ("идентификатор", mWordId) .findFirst ();
хм, в таком случае это должно работать
Я только что выяснил, почему это приложение извлекает данные CSV по умолчанию, сохраненные в базе данных области при открытии, которые устанавливают все данные по умолчанию при извлечении. Спасибо.




Я не знаю, откуда взялся
mWordData, и не знаю, есть ли у него первичный ключ