gpt4 book ai didi

android - 预期的 android Hilt

转载 作者:行者123 更新时间:2023-12-04 13:12:47 30 4
gpt4 key购买 nike

我想在我的应用中试用 Hilt DI

我完成了将 Hilt 添加到我的应用程序的所有步骤,但我的问题是 hilt 在我的 BaseFragment 中显示错误说:

错误:预期topLevelClass = BaseFragment .class ^error: [Hilt]

BaseFragment 很简单:

@AndroidEntryPoint
abstract class BaseFragment<T : ViewModel,D : ViewDataBinding>() : Fragment() {

@Inject
lateinit var viewModel: T by viewModels()


}

对于 viewModel by viewModels() 不工作告诉我错误

Cannot use 'T' as reified type parameter. Use a class instead. Type'Lazy' has no method 'setValue(BaseFragment<T, D>, KProperty<*>,T)' and thus it cannot serve as a delegate for var (read-writeproperty).**

所以我像在 Dagger 中一样使用 Factory 并且它有效,但仍然是我的问题

基础 fragment

非常感谢你帮助我并提前致谢

编辑:打开这个issues在 github 上,他们说这是一个错误,他们将禁止 @AndroidEntryPoint 用于具有类型参数的基类 –

最佳答案

正如我已经提到的 here这可能是 Hilt 内部的错误。

查看相关github问题:https://github.com/google/dagger/issues/2042

您可以通过将 @AndroidEntryPoint 从带参数的抽象类移动到不带类型参数的子类来解决此问题。

关于android - <identifier> 预期的 android Hilt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63362532/

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