Как взаимодействовать между двумя дочерними фрагментами внутри вложенного фрагмента

Я могу легко обмениваться данными между двумя fragment активности с помощью обратного вызова interface. Следуя этому пути, я реализовал интерфейс в ParentFragment для связи.

Но в случае активности я использовал -

 @Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);
        try {
            mCallback = (OnHeadlineSelectedListener) activity;
        } catch (ClassCastException e) {
            throw new ClassCastException(activity.toString()
                    + " must implement OnHeadlineSelectedListener");
        }
    }

И в этом случае я использую mCallback = (OnHeadlineSelectedListener) getParentFragment(); вместо mCallback = (OnHeadlineSelectedListener) activity;. Все работает хорошо. Этот подход в порядке? Или я должен сделать это в другой поток вместо onAttach()?

Ответ 1

Литой задачей является обеспечение определенного объекта экземпляром класса, реализующего данный интерфейс (в данном случае OnHeadlineSelectedListener). На данный момент не имеет значения, каков тип объекта - это активность, фрагмент или что-то еще. Пока он реализует необходимый вам интерфейс, все в порядке.