Проблема Решенный
проблема решена путем замены realm.commitTransaction();
с realm.copyToRealm(item);
Android Realm получить не внутри Ошибка транзакции
Проблема
Когда я получаю данные из диалогового окна с помощью слушателя, как interface
и попытаться сохранить выбранные данные в виде класса. я не могу создать новую строку в таблице
получить данные из диалога:
takeUserEwalletCurrency.setOnTakeUserEwallet(new TakeUserEwalletCurrency.IOnChooseEwallet() {
@Override
public void getItem(int item) {
takeUserEwalletCurrency.dismissDialog();
switch (item) {
case 1:
String choiceUSDUserEwallet = "SHUSD" + userPhoneNumber.substring(1, userPhoneNumber.length());
updateEwalletsHistory(choiceUSDUserEwallet, "SHUSD");
to_ewallet.setText(choiceUSDUserEwallet);
validateEnteredEwalletNumber();
break;
case 2:
...
break;
}
}
});
takeUserEwalletCurrency.showDialog();
Создать новую строку:
private void updateEwalletsHistory(final String currentEwallet, final String ewalletCurrency) {
final EwalletsHistory exists_row = realm.where(EwalletsHistory.class).equalTo("ewalletName", currentEwallet).findFirst();
if (exists_row == null) {
realm.executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
EwalletsHistory item = new EwalletsHistory();
item.setEwalletName(currentEwallet);
item.setEwalletCurrency(ewalletCurrency);
realm.commitTransaction();
}
});
}
}
оба из них, такие как Диалог интерфейса и создать новую строку в таблице та же деятельность
Да, вы правы, спасибо –