我已经在我的项目中使用匕首2最近使用,如何在Android的MVP图层之间使用注入?
的问题是,当我尝试建立我的项目,在其中注入像下面为空我登录 活动的主持人,
,当我尝试生成项目
主持人不能没有@Inject构造函数或从@规定外或@可生产标注的方法...
提供我不明白我做错了什么??请有人帮我这个,
在此先感谢。
这里是我的登录活动,这里的主持人为空,这表明,我已经不注射得当
@Inject
LoginPresenter presenter;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
InjectHelper.getRootComponent().injectPresenter(this);
presenter.setProgressBarVisiblity(View.INVISIBLE);
}
这是我的演示模块
@Module
public class PresenterModule {
private final LoginActivity activity;
public PresenterModule(LoginActivity activity) {
this.activity = activity;
}
@Provides
@Singleton
public LoginActivity providesView() {
return activity;
}
}
@Provides
@Singleton
public LoginPresenter providesPresenter()
{
return new LoginPresenter();
}
}
这种注射辅助类
public class InjectHelper {
private static RootComponent sRootComponent;
static {
initModules();
}
private static void initModules() {
sRootComponent = getRootComponentBuilder().build();
}
public static DaggerRootComponent.Builder getRootComponentBuilder() {
return DaggerRootComponent.builder();
}
public static RootComponent getRootComponent() {
if (sRootComponent == null) {
initModules();
}
return sRootComponent;
}
}
这是根组件类
@Singleton
@Component(modules = {
PresenterModule.class
})
public interface RootComponent {
void injectLoginView(LoginPresenter loginPresenter);
}
你能更明显的匕首,想要注入演示者,这是什么样的答案?吴 –