Fragment 用の interface 実装 public class FragmentManagerFragmentDelegate implements FragmentManagerDelegate { private final Fragment fragment; public FragmentManagerFragmentDelegate(Fragment fragment) { this.fragment = fragment; } @Override public FragmentManager provide() { // うっかり親のFragmentManagerを参照してハマったりしない return fragment.getChildFragmentManager(); } } Fragment への参照を持つ
コールバック管理クラスを作る @ViewScope public class LifecycleCallbackController { private final List onStartCallbackList = new ArrayList<>(); ... @Inject public LifecycleCallbackController() { } public void register(LifecycleCallback callback) { if (callback instanceof OnStartCallback) { onStartCallbackList.add((OnStartCallback) callback); } ... } public void onStart() { for (OnStartCallback onStartCallback : onStartCallbackList) { onStartCallback.onStart(); } }