第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Dagger不生成子組件創(chuàng)建方法

Dagger不生成子組件創(chuàng)建方法

翻過高山走不出你 2023-08-09 15:51:46
我使用的是 dagger 2.24,沒有 dagger-android。我的組件設(shè)置如下:@Singleton@Component(modules = [    FirebaseModule::class,    ViewModelFactoryModule::class,    DispatcherModule::class,    NetworkModule::class])interface AppComponent {    fun getSignInComponent(): SignInComponent    fun getMapComponent(): MapComponent    // some other subcomponent creation methods    fun getNewMeetingComponent(): NewMeetingComponent // THIS method is not implemented by DaggerAppComponent    @Component.Factory    interface Factory {        fun create(                @BindsInstance context: Context                // some other dependencies        ): AppComponent    }}/////////////////////////////////////////////////////////////////////@ViewScope@Subcomponent(modules = [NewMeetingModule::class])interface NewMeetingComponent {    fun inject(newMeetingActivity: NewMeetingActivity)}發(fā)生的情況是 dagger 生成所有子組件創(chuàng)建方法,如下所示:@Overridepublic SignInComponent getSignInComponent() {    return new SignInComponentImpl();}但根本不生成任何實現(xiàn)fun getNewMeetingComponent(): NewMeetingComponent。這確實很奇怪,因為其他子組件之間沒有概念上的差異。構(gòu)建失敗并顯示一條簡單消息 DaggerAppComponent is not abstract and does not override abstract method getNewMeetingComponent() in AppComponent 
查看完整描述

2 回答

?
PIPIONE

TA貢獻1829條經(jīng)驗 獲得超9個贊

答案很簡單。我把它NewMeetingComponent放入一個名為“new”的包中。我忘記了,就 java 而言,它不是一個有效的包名稱。要么 Android Studio 沒有顯示警告,要么我出于某種原因放棄了它。



查看完整回答
反對 回復 2023-08-09
?
慕容708150

TA貢獻1831條經(jīng)驗 獲得超4個贊

據(jù)我所知,您尚未將子組件添加到主組件中。要添加子組件,您需要在subcomponents主組件內(nèi)的模塊參數(shù)中指定它。文檔中有一個例子

@Module(subcomponents?=?RequestComponent.class)
class?ServerModule?{}

其中SererModule是主要組件中包含的模塊之一。


查看完整回答
反對 回復 2023-08-09
  • 2 回答
  • 0 關(guān)注
  • 177 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號