繁体   English   中英

Kotlin:无法返回派生类型

[英]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.Fragmentimport android.support.v4.app.Fragment

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM