Kotlin:无法返回派生类型

我有一个android项目下面的kotlin函数。 我试图返回一个电影或TvShow“碎片”,这是从基地的Android“片段”类派生。 这段代码在java代码中工作,但是一旦转换成Kotlin,它就不再起作用了。 我得到的错误是MovieFragment类型不匹配,因为它是类型“MoviesFragment”而不是“片段?”。


override fun getItem(position: Int): Fragment? { when (position) { 0 -> { val moviesFragment: MoviesFragment = MoviesFragment() return moviesFragment } 1 -> { val tvShowFragment: TvShowFragment = TvShowFragment() return tvShowFragment } else -> { return null } } } 

提前致谢!!

看起来没问题,试着在两个类中匹配进口片段。 它应该是在所有的子类相同,例如import android.app.Fragmentimport android.support.v4.app.Fragment