【发布时间】:2018-08-16 15:43:25
【问题描述】:
如何从包androidx.fragment.app.Fragment注入片段?
我正在使用dagger-android framework 在我的代码中注入我的依赖项。
正如文档所说,我这样做是为了注入我的片段
@Override
public void onAttach(Activity activity) {
AndroidInjection.inject(this);
super.onAttach(activity);
// ...
}
问题是 AndroidSupportInjection 类只接受包 android.support.v4.app.Fragment 的片段,或者如果我使用 AndroidInjection 类只接受包的片段android.app.Fragment 我想使用 androidx.fragment.app.Fragment 包的片段。
DaggerFrament 也扩展自 android.support.v4.app.Fragment 并希望使用来自 androidx 的片段
如果我尝试实现 HasSupportFragmentInjector 这个接口也使用来自 android.support 的片段
【问题讨论】:
-
您应该将
android.support.*工件切换到androidx.*并在您的 gradle 文件中声明useAndroidX和enableJetifier。一般参考请参见此处:developer.android.com/topic/libraries/support-library/… -
在我切换到 androidx 命名空间尝试后遇到了同样的问题。一直没能解决。
-
@Irving 你找到解决方案了吗?
-
还没有,现在我开始使用 android.support.* 包类。