Кинжал 2, не может вводить презентатора в мою деятельность

Я новичок в Dagger2. У меня проблема с инжектором-презентатором в моей деятельности. Я пытаюсь решить свою проблему после прочтения этой статьи https://android.jlelse.eu/inject-interfaces-without-providing-in-dagger-2-618cce9b1e29, но это не был helpe меня. Надеюсь, кто-то мне поможет, я провожу весь день, чтобы решить это …

вот мои модули:

@Module class AppModule(private val appContext: Context) { @Singleton @Provides internal fun provideContext(): Context { return appContext } @Singleton @Provides internal fun providePreferences(): SharedPreferences { return appContext.getSharedPreferences( appContext.resources.getString(R.string.shared_preferences_name), Context.MODE_PRIVATE) } } @Module abstract class ActivityModule { @Binds abstract fun provideMakeCheckPresenter (p : MakeCheckPresenter<MakeCheckMvpView>) : MakeCheckMvpPresenter<MakeCheckMvpView> } 

вот мой компонент:

 @Component(modules = { AppModule.class, ActivityModule.class}) @Singleton public interface AppComponent { void inject(MakeCheckActivity makeCheckActivity); } 

вот мой класс App:

 class App : android.support.multidex.MultiDexApplication() { override fun onCreate() { super.onCreate() component = buildComponent() } protected fun buildComponent(): AppComponent { return DaggerAppComponent.builder().appModule(AppModule(this)).build() } companion object { var component: AppComponent? = null private set } } 

вот моя деятельность:

 class MakeCheckActivity : BaseActivity(), MakeCheckMvpView { @Inject lateinit var presenter: MakeCheckMvpPresenter<MakeCheckMvpView> override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.new_check_activity) App.getComponent().inject(this) } } 

вот мой ведущий:

 class MakeCheckPresenter<V : MakeCheckMvpView> @Inject constructor() : BasePresenter<MakeCheckMvpView>(), MakeCheckMvpPresenter<MakeCheckMvpView> { override fun saveEnterpriseId(enterpriseId: Int) { //model.enterpriseId } } 

вот интерфейсы для презентатора и просмотра:

 interface MakeCheckMvpView : MvpView { } interface MakeCheckMvpPresenter<in V : MakeCheckMvpView> : MvpPresenter<V> { fun saveEnterpriseId(enterpriseId : Int) } 

и здесь базовые классы:

 open class BasePresenter<V : MvpView> @Inject constructor(): MvpPresenter<V> { } abstract class BaseActivity : AppCompatActivity(), MvpView{ } 

и всегда, когда я строю, у меня есть эта ошибка:

 ...\di\component\AppComponent.java:62: error: ..ui.check_making.MakeCheckMvpPresenter<? super ...ui.check_making.MakeCheckMvpView> cannot be provided without an @Provides- or @Produces-annotated method. e: e: void inject(MakeCheckActivity makeCheckActivity); 

как я могу это решить?