【发布时间】:2020-04-08 11:00:29
【问题描述】:
我正在尝试使用以下架构构建应用程序:LoginActivity -> MainActivity -> MainActivity 托管的片段中处理的所有其他内容。我也是第一次使用 Kodein 框架,在我的起始片段中出现以下错误:
属性委托必须有一个 'provideDelegate(HomeFragment, KProperty*>' 方法。以下功能均不适用。 provideDelegate(Context [以红色突出显示], KProperty>?) 定义 在 org.kodein.di.android.KodeinPropertyDelegateProvider 类型 'KodeinPropertyDelegateProvider' 没有方法 'getValue(HomeFragment, KProperty>)' 因此它不能作为 委托
这是我目前的代码:
class HomeFragment : Fragment(), KodeinAware {
override val kodein by kodein()
private val factory : MainViewModelFactory by instance()
private lateinit var viewModel: MainViewModel
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Inflate the layout for this fragment
val binding : FragmentHomeBinding = FragmentHomeBinding.inflate(inflater, container, false)
viewModel = ViewModelProviders.of(this, factory).get(MainViewModel::class.java)
binding.viewModel = viewModel
return binding.root
}
}
我该如何解决这个问题?
谢谢:)
【问题讨论】:
标签: android android-fragments kotlin delegates kodein