Работа с вкладками в Котлине (Android Studio)

Я новичок в Kotlin, недавно переехал с Java, в java я использовал

@Override public Fragment getItem(int position) { switch (position) { case 0: Tab1Contact tab1 = new Tab1Contact(); return tab1; case 1: Tab2Contact tab2 = new Tab2Contact(); return tab2; case 2: Tab3Contact tab3 = new Tab3Contact(); return tab3; } return null; } 

для вкладок. Я создаю 3 разных класса для разных вкладок для организации данных. В Котлине я не могу этого сделать, я попробовал

 override fun getItem(position: Int): Fragment? { when (position) { 0 -> { val tab1 = TabOne() return tab1 as Fragment } 1 -> { val tab2 = TabTwo() return tab2 as Fragment } 2 -> { val tab3 = TabThree() return tab3 as Fragment } } return null } 

но приложение падает, если я просто возвращаю tab1, то снова появляется ошибка «Требуемый фрагмент, найденный TabOne»,

Решается путем использования

 class TabOne : android.support.v4.app.Fragment() { } 

вместо

 class TabOne : android.app.Fragment() { } 

Вам необходимо расширить свои классы вкладок до фрагмента. Убедитесь, что вам нужно импортировать назад
совместимость

 import android.support.v4.app.* class TabOne: Fragment() { // Implementations } 

Сделайте для всего класса, затем попробуйте