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()
它编译得很好。 也许别人可以帮我们解释。
- Android Studio版本3.0 Canary Channel不渲染支持库
- 如何从相同签名的方法或扩展函数调用顶层函数?
- Kotlin有一个Map语法的语法吗?
- 用于Java兼容性的公共字段
- 如何在Kotlin中创建一个库,并从目标为JavaScript或Java的项目中使用它?
- 如何在Android中将许多AsyncTasks转换为Rx Observables?
- 为什么三元运算符在Kotlin中不“工作”?
- rxjava2 – 在线程池上执行任务的简单示例,在单个线程上订阅
- 使用Kotlin的Spring Boot 2.0.0.M2应用程序的UnsatisfiedDependencyException