标签: androidinjector

为什么 AdnroidInjector.inject(fragment) 使用已弃用的 android.support.v4.app.Fragment

我在 Android 应用程序中使用 Dagger2 进行 DI,

我想在一个片段中注入 viewModelAndroidInjector并有这两行:

 AndroidInjection.inject(this)
 viewModel = ViewModelProviders.of(this, viewModelFactory).get(ProductDetailViewModel::class.java)
Run Code Online (Sandbox Code Playgroud)

当我的片段扩展androidx.fragment.app.Fragment显示此错误时:

  • 第一行使用已弃用 android.support.v4.app.Fragment
  • 但第二次使用 android.app.Fragment

现在我不知道我的片段应该扩展哪一个!

选择其中之一时出现此错误:

None of the following functions can be called with the arguments supplied: public open fun inject(activity: Activity!): Unit defined in dagger.android.AndroidInjection public open fun inject(fragment: Fragment!): Unit defined in dagger.android.AndroidInjection public open fun inject(service: Service!): Unit defined in dagger.android.AndroidInjection public open fun inject(contentProvider: ContentProvider!): Unit defined in dagger.android.AndroidInjection

android dagger-2 androidinjector android-viewmodel

3
推荐指数
1
解决办法
1219
查看次数