将适配器注入活动



我正在学习如何使用RoboGuice(和依赖注入)。我的问题是我想注入自定义FragmentPagerAdapter到活动,但我需要通过FragmentManager的某种方式。有办法做到吗?在文档中,他们提出了一种传递上下文的方法,但我需要传递FragmentManager -我需要这样做吗?

For Dagger:

使用Activity.getFragmentManager()活动特定子图中为FragmentManager定义绑定。然后将FragmentManager注入FragmentPagerAdapter,将FragmentPagerAdapter注入Activity

public class ActivityModule {
  private final Activity activity;
  public ActivityModule(Activity activity) {
    this.activity = activity;
  }
  @Provides
  public Activity getActivity() {
    return activity;
  }
  @Provides
  FragmentManager provideFragmentManager(Activity activity) {
    return activity.getFragmentManager();
  }
}

看起来可以直接注入Activity。然后,您应该能够调用activity.getFragmentManager()。或者如果您正在使用支持库((FragmentActivity) activity).getSupportFragmentManager() .

最新更新