我无法使用 Model View Presenter(MVP) Hilt 方法编译代码。
我收到此错误: /MotionPoC/app/build/generated/source/kapt/debug/com/aria/motionpoc/di/MotionApp_HiltComponents.java:145:错误:[Dagger/MissingBinding] com.aria.motionpoc.coupon.MainActivity如果没有 @Inject 构造函数或 @Provides-annotated 方法,则无法提供。此类型支持成员注入,但不能隐式提供。
代码本身:
MainActivity.kt
@AndroidEntryPoint
class MainActivity : AppCompatActivity(), MainContract.View {
@Inject
lateinit var presenter: MainContract.Presenter
MainPresenter.kt
class MainPresenter @Inject constructor(
private val view: MainContract.View
): MainContract.Presenter {
override fun onViewCreated() {
view.showList()
}
}
主模块.kt
@InstallIn(ActivityComponent::class)
@Module
abstract class MainModule {
@Binds
abstract fun bindActivity(view: MainActivity): MainContract.View
@Binds
abstract fun bindPresenter(impl: MainPresenter): MainContract.Presenter
}
运动应用程序.kt
@HiltAndroidApp
open class MotionApp : Application()
解决了!感谢您的帮助曼努埃尔体内! https://github.com/riodext/AndroidDaggerHiltMVP