Почему при одном варианте импорта Fragment не работает ViewModelProviders а при другом функция add в FragmentManager

введите сюда описание изображенияИзучаю Android разработку по книге 21 года, но судя по всему наткнулся на устаревшую инфу и сам не могу решить проблему, 10 раз перепроверил все по учебнику верно. Проблема заключается в следующем:

Есть class CrimeListFragment : Fragment()

Если import android.support.v4.app.Fragment То supportFragmentManager работает корректно Но

private val crimeListViewModel: CrimeListViewModel by lazy {
        ViewModelProviders.of(this).get(CrimeListViewModel::class.java)
    }

Уже выдает ошибку.

Если import androidx.fragment.app.Fragment То вышеуказанный код не ругается, однако:

supportFragmentManager
                .beginTransaction()
                .add(R.id.fragment_container, fragment)
                .commit()

Функция add ругается что ожидает android.support.v4.app.Fragment И я не знаю как мне реализовать обе функции для одного фрагмента, если при любом варианте импорта часть кода отпадает. Помогите пожалуйста, в чем я ошибся?

P.S.

implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' 

Ответы (0 шт):