当我尝试导航到动态模块中的活动时应用程序崩溃,但在导航到同一模块中的活动时效果很好。
附:
@HiltAndroidApp
注释;问题出现在运行时。当用户触发下面的 setOnClickListener 时。有人知道我的代码有什么问题吗?
导航在哪里(App模块)
binding.button.setOnClickListener {
activity?.let {
val intent = Intent().setClassName(it, "br.com.tasks.TasksActivity")
startActivity(intent)
}
}
TasksActivity(动态特征模块)
@AndroidEntryPoint
class TasksActivity: AppCompatActivity() {
private val binding by lazy { ActivityTasksBinding.inflate(layoutInflater) }
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(binding.root)
}
}
堆栈跟踪
E/AndroidRuntime: FATAL EXCEPTION: main
Process: br.com.lucas.todo, PID: 14232
java.lang.RuntimeException: Unable to start activity ComponentInfo{br.com.lucas.todo/br.com.tasks.TasksActivity}: java.lang.ClassCastException: br.com.lucas.todo.DaggerAppApplication_HiltComponents_SingletonC$ActivityCImpl cannot be cast to br.com.tasks.TasksActivity_GeneratedInjector
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3270)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
Caused by: java.lang.ClassCastException: br.com.lucas.todo.DaggerAppApplication_HiltComponents_SingletonC$ActivityCImpl cannot be cast to br.com.tasks.TasksActivity_GeneratedInjector
at br.com.tasks.Hilt_TasksActivity.inject(Hilt_TasksActivity.java:67)
at br.com.tasks.Hilt_TasksActivity$1.onContextAvailable(Hilt_TasksActivity.java:38)
at androidx.activity.contextaware.ContextAwareHelper.dispatchOnContextAvailable(ContextAwareHelper.java:99)
at androidx.activity.ComponentActivity.onCreate(ComponentActivity.java:362)
at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:216)
at androidx.appcompat.app.AppCompatActivity.onCreate(AppCompatActivity.java:115)
at br.com.tasks.TasksActivity.onCreate(TasksActivity.kt:14)
at android.app.Activity.performCreate(Activity.java:7802)
at android.app.Activity.performCreate(Activity.java:7791)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1299)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
I/Process: Sending signal. PID: 14232 SIG: 9