片段片段交互的Android最佳實踐(描述爲here和here)強制Activity
實現由子片段定義的偵聽器。 Activity
然後管理片段之間的通信。Android嵌套片段片段交互
從我的理解,這是爲了保持片段彼此鬆散耦合。但是,
這也是嵌套片段的情況嗎?我可以想象,嵌套片段可以直接報告給它的父代片段而不是活動。
如果一個嵌套片段的父代片段實現它的監聽器,一個(或者應該一個)如何要求父代片段執行此操作。換句話說,是一種類似於範例以下但
Fragments
:@Override public void onAttach(Activity activity) { super.onAttach(activity); try { mCallback = (OnHeadlineSelectedListener) activity; } catch (ClassCastException e) { throw new ClassCastException(activity.toString() + " must implement OnHeadlineSelectedListener"); } }
但是,在問題中發佈的google鏈接中描述的方式通過使用片段的onAttach()附加偵聽器並鼓勵/強制將其作爲「Activity」,否則將引發錯誤。 – bcorso 2014-08-28 22:16:37
該文檔鼓勵片段不應直接與另一個片段進行通信。並不是說它必須是一個活動。 – CChi 2014-08-28 22:19:11
如果偵聽器沒有被「Activity」實現,Google是否會建議拋出一個'Exception'?我應該刪除該代碼嗎? – bcorso 2014-08-28 22:22:51