sak*_*ket 8 mvvm kotlin dagger-hilt
该应用程序在安装后立即崩溃并抛出上述奇怪的错误。我已经注释了如下所示的活动及其子片段。
@AndroidEntryPoint
class HomeActivity : AppCompatActivity() {
companion object{
lateinit var currentUser: User
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_home)
val navController = Navigation.findNavController(this, R.id.home_nav)
val bottomNavigationView: BottomNavigationView = findViewById(R.id.bottom_navigation)
bottomNavigationView.setupWithNavController(navController)
fetchCurrentUser()
}
Run Code Online (Sandbox Code Playgroud)
还附加了 Application 类,这是根据文档使用 Hilt 的每个应用程序所必需的
@HiltAndroidApp
class CoreApplication:Application()
Run Code Online (Sandbox Code Playgroud)
和崩溃的日志
Caused by: java.lang.IllegalStateException: Hilt Activity must be attached to an @AndroidEntryPoint Application. Found: class androidx.multidex.MultiDexApplication
at dagger.hilt.android.internal.managers.ActivityComponentManager.createComponent(ActivityComponentManager.java:82)
at dagger.hilt.android.internal.managers.ActivityComponentManager.generatedComponent(ActivityComponentManager.java:65)
at com.example.vcare.home.Hilt_HomeActivity.generatedComponent(Hilt_HomeActivity.java:43)
at com.example.vcare.home.Hilt_HomeActivity.inject(Hilt_HomeActivity.java:62)
at com.example.vcare.home.Hilt_HomeActivity.onCreate(Hilt_HomeActivity.java:37)
at com.example.vcare.home.HomeActivity.onCreate(HomeActivity.kt:27)
at android.app.Activity.performCreate(Activity.java:7224)
at android.app.Activity.performCreate(Activity.java:7213)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1272)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2926)
Run Code Online (Sandbox Code Playgroud)
And*_*rew 23
此问题的解决方案是:android:name = ".CoreApplication"在您的AndroidManifest.xml文件中的<application .../>标记中声明。
小智 6
就我而言,我在将存储库实现到 ViewModel 类中时遇到了错误。
我遵循了一些修复来解决这些错误。
现在 Hilt 与 MVVM 和干净架构的问题已经解决!
| 归档时间: |
|
| 查看次数: |
3256 次 |
| 最近记录: |