Kotlin:'exoPlayer'的类型与重写的var-property的类型不匹配public abstract var exoPlayer:ExoPlayer? 定义在
我不确定我理解这里发生了什么。 请有人解释一下吗?
我得到以下错误: Type of 'exoPlayer' doesn't match the type of the overridden var-property 'public abstract var exoPlayer: ExoPlayer? defined in...
Type of 'exoPlayer' doesn't match the type of the overridden var-property 'public abstract var exoPlayer: ExoPlayer? defined in...
当我编译时:
class LocalPlayback(context: Context, override var exoPlayer: SimpleExoPlayer?) : Playback { private val context: Context //... other stuff... }
LocalPlayback扩展播放:
interface Playback { var exoPlayer: ExoPlayer? //... other stuff... }
SimpleExoPlayer
实现了ExoPlayer
接口。
你需要在接口中声明你的exoPlayer变量为val,一切都会好的。
interface Playback { val exoPlayer: ExoPlayer? //... other stuff... }
我举了一个例子来测试:
interface Playback { val exoPlayer: ExoPlayer } class LocalPlayback(override var exoPlayer: SimpleExoPlayer) : Playback open class ExoPlayer class SimpleExoPlayer : ExoPlayer()
它编译得很好。 也许别人可以帮我们解释。