gpt4 book ai didi

Android Hilt - 多模块项目转换错误

转载 作者:行者123 更新时间:2023-12-03 17:23:52 27 4
gpt4 key购买 nike

我正在尝试将刀柄用于包含动态功能的项目。我面临一个我无法完全理解原因的错误。我收到这样的错误:

java.lang.ClassCastException: com.social.analysis.DaggerApp_HiltComponents_ApplicationC$ActivityRetainedCImpl$ActivityCImpl$FragmentCImpl cannot be cast to com.social.login.intro.IntroFragment_GeneratedInjector
at com.social.login.intro.Hilt_IntroFragment.inject(Hilt_IntroFragment.java:94)
at com.social.login.intro.Hilt_IntroFragment.initializeComponentContext(Hilt_IntroFragment.java:58)
at com.social.login.intro.Hilt_IntroFragment.onAttach(Hilt_IntroFragment.java:50)
at androidx.fragment.app.Fragment.onAttach(Fragment.java:1602)
at com.social.login.intro.Hilt_IntroFragment.onAttach(Hilt_IntroFragment.java:40)
LOGİN MODULE 中的我的 ViewModel(动态功能)
class IntroViewModel @Inject constructor(): ViewModel() {
// TODO: Implement the ViewModel
}
我在登录模块中的 fragment
@AndroidEntryPoint
class IntroFragment : BaseFragment<FragmentIntroBinding, IntroViewModel>(
R.layout.fragment_intro
) {

companion object {
fun newInstance() = IntroFragment()
}

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
}

override fun onInitDataBinding() {
viewBinding.viewModel = viewModel
}
}
UI 模块中的我的基本 fragment
abstract  class BaseFragment <B: ViewDataBinding, M: ViewModel>(
@LayoutRes
private val layoutId: Int
): Fragment() {

@Inject
lateinit var viewModel: M
lateinit var viewBinding: B
...
我在应用模块中的应用类
@HiltAndroidApp
class App : SplitCompatApplication() {
}
我在 App 模块中的主要 Activity
@AndroidEntryPoint
class MainActivity : AppCompatActivity()
我从 App 模块调用 IntroFragment。然后应用程序崩溃。
项目结构如下所示:
Project Structure

最佳答案

来自 an answer to a similar question :
删除 .gradle 目录(在项目基目录中)
使缓存无效并重新启动 Android Studio。

关于Android Hilt - 多模块项目转换错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63151613/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com