я использую с помощью кинжала 2 в моем проекте в последнее время,Как использовать инъекции между уровнями MVP в android?
проблема, когда я пытаюсь построить мой проект, выступающему в моей деятельности Логин , который впрыскивается, как показано ниже равна нулю,
и когда я пытаюсь построить проект
ведущий не может быть обеспечено без конструктора @Inject или от @ Provides- или @ Производит аннотированный метод ...
Я не понимаю, что я сделал неправильно ??, пожалуйста, помогите мне с этим,
спасибо заранее.
Вот моя Войти активность, выступающие здесь имеет нулевое значение, которое показывает, что я не ввел ее правильно
@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);
}
Можете ли вы быть более очевидным, конечно, I хотите ввести презентатора, какой ответ это? Оо –