我正在学习如何使用 RoboGuice(以及一般的依赖注入(inject))。我遇到的问题是我想将自定义 FragmentPagerAdapter 注入(inject)到 Activity 中,但我需要以某种方式传递 FragmentManager。有没有办法做到这一点?在文档中,他们提供了一种传递上下文的方法,但我需要传递 FragmentManager - 我是否需要以同样的方式进行?
最佳答案
对于 Dagger :
使用 Activity.getFragmentManager()
在 Activity-specific subgraph 中定义 FragmentManager
的绑定(bind)。然后将FragmentManager
注入(inject)FragmentPagerAdapter
,将FragmentPagerAdapter
注入(inject)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();
}
}
关于android - 将适配器注入(inject) Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25104957/