Как я могу узнать, был ли фрагмент снова нажат / извлечен из стека? - PullRequest
0 голосов
/ 11 апреля 2019

У меня ACTIVITY, в котором размещены два фрагмента A и B. По умолчанию размещен фрагмент A. Фрагмент B начинается с фрагмента A. Когда пользователь нажимает обратно на фрагмент B и, предполагая, что некоторые данные были изменены, сначала я убиваю фрагмент B, используя следующий код в B:

if (getActivity() != null) {
    FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
    if (fragmentManager != null) {
        getActivity().getSupportFragmentManager().popBackStackImmediate();
    }
}

Мой вопрос:

Как я узнаю, что фрагмент B был «убит» из фрагмента A или даже из ACTIVITY? Я хочу обновить данные в A, когда B убит.

Что-то вроде

if (B.isKilled()) {
    refreshDataInA();
}

Я хочу иметь возможность делать как из ACTIVITY, так и из фрагмента B.

Спасибо!

1 Ответ

1 голос
/ 11 апреля 2019

В вашем фрагменте A метод onResume добавляет

@Override
    public void onResume() {
        super.onResume();
        if(B.isDetached()){
            refreshData();
        }
    }

попробуй.

...