Android-如果没有@Provides注释的方法,则无法提供

时间:2018-09-23 08:53:43

标签: android kotlin mvp dagger

我在项目中使用<script type="text/javascript" src="https://example.com/myscript.js"></script> Dagger中的代码,并且一起使用MVPkotlin中的代码。

同胞是我的java

MainView.kt

下面是我的interface MainView : MessageView, VersionCheckView { fun showUserStatus(userStatus: UserStatus) fun setupUserAccountInfo(uiModel: NavHeaderUiModel) fun setupServerAccountList(serverAccountList: List<Account>) fun closeServerSelection() fun invalidateToken(token: String) fun showProgress() fun hideProgress() }

presenter

在我的class MainPresenter @Inject constructor( private val view: MainView, private val strategy: CancelStrategy, private val navigator: MainNavigator, private val tokenRepository: TokenRepository, private val serverInteractor: GetCurrentServerInteractor, private val refreshSettingsInteractor: RefreshSettingsInteractor, private val refreshPermissionsInteractor: RefreshPermissionsInteractor, private val localRepository: LocalRepository, private val navHeaderMapper: NavHeaderUiModelMapper, private val saveAccountInteractor: SaveAccountInteractor, private val getAccountsInteractor: GetAccountsInteractor, private val removeAccountInteractor: RemoveAccountInteractor, private val factory: RocketChatClientFactory, private val groupedPush: GroupedPush, dbManagerFactory: DatabaseManagerFactory, getSettingsInteractor: GetSettingsInteractor, managerFactory: ConnectionManagerFactory ) :....{ .... } 中,上面的代码工作良好,但是当我在MainActivty.kt中使用时,出现以下错误:

MainActivityMou.java

下面是.MainView cannot be provided without an @Provides-annotated method.

MainModule.kt

我的@Module class MainModule { @Provides @PerActivity fun provideJob() = Job() @Provides @PerActivity fun provideMainNavigator(activity: MainActivity) = MainNavigator(activity) @Provides fun provideMainView(activity: MainActivity): MainView = activity @Named("MainActivityMou") @Provides fun provideMainMOUView(activity: MainActivityMou): MainView = activity @Provides fun provideLifecycleOwner(activity: MainActivity): LifecycleOwner = activity @Provides fun provideCancelStrategy(owner: LifecycleOwner, jobs: Job): CancelStrategy = CancelStrategy(owner, jobs) } 像下面这样:

MainActivityMou.java

0 个答案:

没有答案