2013-08-12 4 views
10

Я могу легко установить связь между двумя fragment s деятельности обратным вызовом 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()?

ответ

7

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

Смежные вопросы