Область сохраняет удаленный объект

У меня было 2 фрагмента A и B, во фрагменте B я удаляю объект, используя транзакцию, затем выполняю getActivity().getSupportFragmentManager().popBackStack(); чтобы вернуться к фрагменту A, после удаления объекта я отлаживаю и обнаружил, что объект правильно удален, но когда я возвращаюсь к фрагменту A, я нашел его, это странно!

это мой код в моем фрагменте А

realm.executeTransactionAsync(new Realm.Transaction() {
                                    @Override
                                    public void execute(@NonNull Realm realm) {
                                        Infraction infraction = realm.where(Infraction.class).equalTo("id",id_new_inf).findFirst();
                                        if(infraction != null)
                                            infraction.deleteFromRealm();
                                    }
                            });
  getActivity().getSupportFragmentManager().popBackStack();

Так почему же объект не удален?

во фрагменте A у меня нет ничего особенного, это просто запрос в onCreateView

@Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

        final View v = inflater.inflate(R.layout.list_infractions, container, false);
infractions = realm.where(Infraction.class).findAll();
}

1 ответ

Делать

realm.executeTransactionAsync((r) ->
                    Infraction infraction = r.where(Infraction.class).equalTo("id",id_new_inf).findFirst();
                    if(infraction != null)
                          infraction.deleteFromRealm();
                    }
             }, () -> { // on Success 
                    getActivity().getSupportFragmentManager()
                                .popBackStack();
             });
Другие вопросы по тегам