我有一个Android项目的以下kotlin函数。我试图返回一个电影或TvShow'Fragment',它们都来自基础android'Fragment'类。这段代码在java代码中有效,但一旦转换为Kotlin - 它就不再有用了。我得到的错误是MovieFragment上的类型不匹配,因为它是'MoviesFragment'类型而不是'Fragment?'。
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
}
}
}
<小时/> 提前致谢!!
答案 0 :(得分:2)
看起来没问题,尝试在两个类中匹配Fragment的导入。
它应该在所有子类中都相同,例如import android.app.Fragment
或import android.support.v4.app.Fragment