0
から変数を変更し、私は次のコードを持っている:アクセスと内部匿名クラス
boolean gameSuccess = false;
@Override
public boolean saveMission(final Mission mission) {
realm = Realm.getInstance(realmConfiguration);
realm.executeTransactionAsync(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
realm.copyToRealm(mission);
}
}, new Realm.Transaction.OnSuccess() {
@Override
public void onSuccess() {
Log.d(TAG, "onSuccess: mission saved");
realm.close();
missionSuccess = true;
}
}, new Realm.Transaction.OnError() {
@Override
public void onError(Throwable error) {
Log.d(TAG, "onError: mission failed");
realm.close();
missionSuccess = false;
}
});
return gameSuccess;
}
gameSuccessがするonSuccessが呼び出された場合でも、常にfalseです。これを行う方法は何ですか?
を遮断するトランザクションを変換する必要があるが、あなたはgameSuccessを返す前にOnSuccesが行われましたか? –
は非同期です。それは戻り前または別のスレッドで発生します。すべてのコールバックが完了したら、値を返す方法を尋ねています。 – Kordova