Я действительно задавал подобный вопрос ранее. Я просто попытался спросить простым способом.
Мой ActivityBuilder есть,
@Module
public abstract class ActivityBuilder {
@ContributesAndroidInjector(modules = {MainActivityModule.class, MainFragmentProvider.class})
abstract MainActivity contributeMainActivity();
}
Моя основная активность:
class MainActivity : DaggerAppCompatActivity() {
@Inject
lateinit var injectedString:String
}
Мой фрагмент,
class MainFragment : DaggerFragment() {
/*@Inject
lateinit var injectedString:String*/
}
Мой модуль активности:
@Module
public class MainActivityModule {
@Provides
static String provideDummyDependency() {
return "I love Dagger";
}
}
Мой ФрагментМодуль есть,
@Module
public class MainFragmentModule {
/*@Provides
static String provideDummyDependency() {
return "I love Dagger";
}*/
}
Мой FragmentProvider есть,
@Module
public abstract class MainFragmentProvider {
@ContributesAndroidInjector(modules = MainFragmentModule.class)
abstract MainFragment provideMainFragmentFactory();
}
Теперь я не могу вставить строку как в активность, так и во фрагмент одновременно. Это работает по одному. Можно ли раскомментировать код в FragmentModule и Fragment, чтобы внедрить один и тот же объект класса в действие и фрагмент?
Спасибо.