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级,然后尝试