0
多くのIllegalStateExceptionsが発生しています。 RealmAdapterからRealmオブジェクトを削除するときに発生します。 RealmAdapterについては、 'io.realm:android-adapters:1.3.0'のバージョンを使用しています。RealmRecyclerViewAdapterからRealmオブジェクトを削除します。
これは私が私のアダプタで長押しで私のオブジェクトを削除する方法を示します。
//Delete message object
new MaterialDialog.Builder(holder.cardView.getContext()).title("Delete")
.content("Delete message?")
.positiveText("YES")
.negativeText("Cancel")
.onPositive(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
//Call delete
ApiManager.ApiManagerService apiManagerService = ApiManager.createService(ApiManager.ApiManagerService.class);
apiManagerService.deleteMessage(message.getId()).enqueue(new Callback<Void>() {
@Override
public void onResponse(Call<Void> call, Response<Void> response) {
Logger.d("delete message onResponse callback");
//Delete from realm
Realm realm = Realm.getDefaultInstance();
realm.beginTransaction();
try {
message.deleteFromRealm();
} catch(Exception e) {
e.printStackTrace();
}
realm.commitTransaction();
//Notify adapter
notifyDataSetChanged();
}
@Override
public void onFailure(Call<Void> call, Throwable t) {
Logger.d("delete message onFailure callback");
}
});
}
})
.show();
return false;
}
は、アダプタ内部からオブジェクトを削除処理するための正しい方法は何ですか?