【发布时间】:2015-11-04 19:39:47
【问题描述】:
我在玩Dagger 2。
我有以下Module:
@Module
public class GameSetupModule {
@Provides
@Singleton
GameSetup provideGameSetup() {
return new GameSetup();
}
}
以及相应的Component:
@Singleton
@Component(modules = {GameSetupModule.class})
public interface GameSetupComponent {
GameSetup provideGameSetup();
void inject(SetupActivity activity);
// void inject(Fragment fragment);
void inject(SetupCompletedFragment fragment);
void inject(SelectQuarterLengthFragment fragment);
void inject(SelectTeamColorsFragment fragment);
void inject(SelectUserRoleFragment fragment);
}
正如你所见,GameSetup 是像这样注入到几个不同的 Fragment 中的:
@Inject
GameSetup gameSetup;
onCreate(){
getGameSetupComponent().inject(this);
}
如上所示实现时效果很好,但是当我只使用单一方法时注入不起作用
void inject(Fragment fragment);
适用于所有片段。
我是不是做错了什么,或者这甚至是为了更好地控制在哪里GameSetup 可能被注入以及它可能不可用?
【问题讨论】:
标签: android dependency-injection dagger-2