2
我正在使用新的dagger.android方法注入活動,但我不知道如果要將Activity
注入到課程中該怎麼辦?也許Navigator
類需要當前的活動:如何使用dagger.android將活動注入到另一個類中?
package com.abydos.messenger.ui
import android.app.Activity
import com.abydos.messenger.ui.register.RegisterActivity
import org.jetbrains.anko.startActivity
import javax.inject.Inject
class Navigator @Inject constructor(private val activity: Activity) {
fun register() {
activity.startActivity<RegisterActivity>()
}
...
}
而且在ActivityBindingModule.kt
package com.abydos.messenger.di
import com.abydos.messenger.ui.register.RegisterActivity
import dagger.Module
import dagger.android.ContributesAndroidInjector
@Module
abstract class ActivityBindingModule {
@ContributesAndroidInjector
abstract fun contributeRegisterActivity(): RegisterActivity
...
}
也許像這樣爲每個活動可能會奏效?
@Binds abstract fun bindActivity(yourActivity: YourActivity): Activity
但我不喜歡爲所有活動編寫這個想法,有沒有更好的方法?
問題是,你爲什麼要注入的'Activity'到另一個呢? – finki
你有沒有找到答案? – AJay