Ton*_*ony 7 kotlin dagger-hilt
我在 Dagger-Hilt 上收到了这个错误,我不知道为什么,我什至降级到一个简单的项目,看看是否能找到我的问题,但显然我做的一切都是正确的。我创建了 Application 类,在清单文件中声明了它,创建了一个提供字符串的模块,当我尝试将其注入到主活动中时出现错误,错误显示“D:\Programacion\Kotlin\TryingHilt\ app\build\tmp\kapt3\stubs\debug\com\y4kuzabanzai\tryinghilt\MainActivity.java:7: 错误: [Hilt] 公共最终类 MainActivity 扩展 androidx.appcompat.app.AppCompatActivity { ^ @EntryPoint com.y4kuzabanzai.tryinghilt .MainActivity 还必须用 @InstallIn [Hilt] 处理未完成进行注释。有关详细信息,请参阅上面的错误。”
这是我的代码:
应用类
@HiltAndroidApp
class MyApp : Application() {
}
Run Code Online (Sandbox Code Playgroud)
模块类
@Module
@InstallIn(ApplicationComponent::class)
class TestModule {
@Singleton
@Provides
fun providesString(): String {
return "Something"
}
}
Run Code Online (Sandbox Code Playgroud)
主要活动类
@EntryPoint
class MainActivity : AppCompatActivity() {
@Inject
lateinit var injectedString: String
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
Log.d("MyTag", "onCreate: $injectedString")
}
}
Run Code Online (Sandbox Code Playgroud)
0xA*_*iHn 10
你应该@AndroidEntryPoint来这里参加活动。@Entrypoint用于某些不同的目的,但其用途不正确。
@AndroidEntryPoint
class MainActivity : AppCompatActivity() {
@Inject
lateinit var injectedString: String
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
Log.d("MyTag", "onCreate: $injectedString")
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2862 次 |
| 最近记录: |