Ошибка:(16, 10) ошибка: android.app.fragmentmanager не может быть предоставлен без метода @provides - or @Products-annotated
Я пытаюсь создать макет вкладки . Итак,я пытаюсь внедрить экземпляр FragmentManager для передачи в конструктор ViewPagerAdapter.
Что я уже пробовал:
Модуль:
@Module public abstract class AppModule { @ContributesAndroidInjector(modules = MainActivityModule.class) abstract MainActivity mainActivity(); @Provides @Singleton static Context getContext(Application application){ return application.getApplicationContext(); } }
AppComponent:
@Singleton @Component(modules = {MainActivityModule.class, AppModule.class}) public interface AppComponent { void inject(MainActivity mainActivity); @Component.Builder interface Builder { AppComponent build(); @BindsInstance Builder buildapp(Application application); @BindsInstance Builder mainActivityBuilder(MainActivity mainActivity); } }
Модуль MainActivityModule:
@Module public abstract class MainActivityModule { @Provides static FragmentManager getFragmentManager(MainActivity mainActivity) { return mainActivity.getSupportFragmentManager(); } }
MyTabApplication:
public class MyTabApplication extends Application { @Inject MainActivity mainActivity; private static AppComponent appComponent; public static AppComponent getAppComponent(){ return appComponent; } @Override public void onCreate() { super.onCreate(); appComponent=buildMyComponent(); } private AppComponent buildMyComponent() { return DaggerAppComponent.builder().buildapp(this).mainActivityBuilder(new MainActivity()).build(); } }