Kotlin中的选项卡式活动(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个不同的类来组织数据。 在Kotlin我无法这样做,我试过了

 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 } 

为所有的class级,然后尝试