Из вашего метода OnClick
во фрагменте я вижу, что у вас есть класс помощника области, для которого вы создали экземпляр с именем realmHelper
.Поскольку вы используете область асинхронно, я предлагаю вам передать созданный объект области в вспомогательный метод или заново создать область в вспомогательном методе или классе.
Передача экземпляра области вспомогательному методу
public void saveTask(Realm realm, final String text, final String date, final String time ) {
realm.executeTransactionAsync(new Realm.Transaction() {
@Override
public void execute(Realm bgRealm) {
Task task = bgRealm.createObject(Task.class);
task.setText(text);
task.setDate(date);
task.setTime(time);
}
}, new Realm.Transaction.OnSuccess() {
@Override
public void onSuccess() {
// Transaction was a success.
Log.d(TAG, "ON_SUCCESS: Data Written Successfully");
}
}, new Realm.Transaction.OnError() {
@Override
public void onError(Throwable error) {
// Transaction failed and was automatically canceled.
Log.d(TAG, "ON_ERROR: Error");
}
});
}
Инстанцирующая область в вспомогательном методе
public void saveTask(Context context, final String text, final String date, final String time ) {
Realm.init(context);
RealmConfiguration configuration = new RealmConfiguration
.Builder()
.deleteRealmIfMigrationNeeded()
.build();
Realm realm = Realm.getInstance(configuration);
realm.executeTransactionAsync(new Realm.Transaction() {
@Override
public void execute(Realm bgRealm) {
Task task = bgRealm.createObject(Task.class);
task.setText(text);
task.setDate(date);
task.setTime(time);
}
}, new Realm.Transaction.OnSuccess() {
@Override
public void onSuccess() {
// Transaction was a success.
Log.d(TAG, "ON_SUCCESS: Data Written Successfully");
}
}, new Realm.Transaction.OnError() {
@Override
public void onError(Throwable error) {
// Transaction failed and was automatically canceled.
Log.d(TAG, "ON_ERROR: Error");
}
});
}