Мне не удается заставить кинжал работать с androidx.fragment.app.Fragment;
// My dependencies
implementation 'com.google.android.material:material:1.0.0'
...
implementation 'com.google.dagger:dagger-android:2.19'
annotationProcessor 'com.google.dagger:dagger-android-processor:2.19'
// gradle.properties
android.useAndroidX=true
android.enableJetifier=true
// In my Fragment
...
import androidx.fragment.app.Fragment;
...
public abstract class BaseFragment extends Fragment {
@Override
public void onAttach(Context context) {
AndroidInjection.inject(this); // cannot resolve method here, AndroidInjection wants to use AndroidInjection.inject(android.app.Fragment);
super.onAttach(context);
}
}
Такая же ошибка типа фрагмента присутствует в моем классе Activity, таким образом
public class MainActivity extends BaseActivity implements HasFragmentInjector{
@Inject
DispatchingAndroidInjector<androidx.fragment.app.Fragment> fragmentInjector;
// incompatible return type here, AndroidInjector wants to use AndroidInjector<android.app.Fragment>
@Override
public AndroidInjector<Fragment> fragmentInjector() {
return fragmentInjector;
}
}
N / B
1.Material Design Components говорит, что я не должен касаться каких-либо библиотек поддержки. (AndroidInjection.inject<android.support.v4.app.Fragment>
становится униженным,
хотя мой Dagger Component не генерируется).
2.Google says android.app.Fragment is depreciated.
Как мне соединить все, чтобы кинжал работал с пространством имен androidx.
С уважением,
George