[英]Kotlin: Can't return a derived type
我有一个来自Android项目的以下kotlin函数。 我正在尝试返回均源自基本android'Fragment'类的Movie或TvShow'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
}
}
}
看起来还可以,请尝试在两个类中匹配Fragment的导入。 在所有子类中都应该相同,例如import android.app.Fragment
或import android.support.v4.app.Fragment
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.