我试图在Github上使用this Google repo后使用dagger2来应用MVP概念 我有多个片段启动画面我使用MVP创建了第一个启动画面片段
并且有它的组件类
@AScoped
@Component(dependencies = DataRepoComponent.class,modules = SplashScreenModule.class)
public interface SplashScreenComponent {
void inject(SplashScreenActivity splashScreenActivity);
}
此组件类依赖于名为DataRepoComponent
的数据提供程序组件@Singleton
@Component(modules = {DataRepoModule.class, ApplicationModule.class})
public interface DataRepoComponent {
DataRepo getDataRepo();
}
以下是数据存储模块
@Module
public class DataRepoModule {
@Singleton
@Provides
OperatorHelper provideSharedPreferncesHelper(Context context){
return new OperatorHelper(context);
}
@Singleton
@Provides
SharedPreferences provideSharedPreference(Context context){
return PreferenceManager.getDefaultSharedPreferences(context);
}
}
一切正常,直到这时我尝试添加花药闪屏片段让我们称之为FirstSplashScreenFragment 当我像这样添加它的组件
@AScoped
@Component(dependencies = DataRepoComponent.class, modules = FirstSplashScreenModule.class)
public interface FirstSplashScreenComponent {
void inject(SplashScreenActivity splashScreenActivity);
}
我收到以下错误 1 -
错误:(5,49)错误:找不到符号类DaggerDataRepoComponent
没有@Proides-annotated方法,无法提供
答案 0 :(得分:0)
说实话,很难找到你的问题,因为你的谜题有些缺失,但我想这可能会有所帮助:
将此添加到您的DataRepoComponent:
@Singleton
@Provides
DataRepo provideDataRepo(){
return new DataRepo();
}
顺便说一句,我认为看看这个样本回购可以帮助你更熟悉匕首: