смотрите, вы можете использовать мульти-привязки, которые вы можете узнать немного больше из официальной документации Официальная документация .
дополнительно вы можете попробовать следующее:
@Module
public class FragmentAModule {
@Provides
BaseFragment providesBaseFragment(FragmentA fragment) {
return fragment;
}
@Provides
@Named("array1")
CustomView[] providesArray1(CustomView1 view1, CustomView2 view2, CustomView3 view3) {
return new CustomView[]{view1, view2, view3};
}
@Provides
@Named("array2")
CustomView[] providesArray2(CustomView4 view4, CustomView5 view5, CustomView6 view6) {
return new CustomView[]{view4, view5, view6};
}
@Provides
@Named("pagerAdapter1")
PagerAdapter providePagerAdapter1(@Named("array1") CustomView[] array) {
return new CustomPagerAdapter(array);
}
@Provides
@Named("pagerAdapter2")
PagerAdapter providePagerAdapter2(@Named("array2") CustomView[] array) {
return new CustomPagerAdapter(array);
}
}
и когда вы вставляете фрагмент в упражнении, вы делаете это следующим образом:
@Inject @Named("array1") CustomView[] array1;
@Inject @Named("array2") CustomView[] array2;
@Inject @Named("pagerAdapter1") PagerAdapter pagerAdapter1;
@Inject @Named("pagerAdapter2") PagerAdapter pagerAdapter2;
Надеюсь, это поможет вам, если вы не оставите комментарий, а я постараюсь помочь вам решить его.