rob*_*obz 5 constructor compiler-errors interface anonymous-class kotlin
我正在尝试在Android中使用SurfaceView来保存相机预览.文档告诉我,我需要在表面持有者的surfaceCreated回调中调用startPreview.我正试图像这样设置回调
this.surface!!.holder!!.addCallback(SurfaceHolder.Callback() {
fun surfaceChanged(holder: SurfaceHolder, format: Int,
width: Int, height: Int) {
}
fun surfaceCreated(holder: SurfaceHolder) {
}
fun surfaceDestroyed(holder: SurfaceHolder) {
}
})
Run Code Online (Sandbox Code Playgroud)
但是,我收到错误:
SurfaceHolder.Callback没有构造函数.
我很困惑为什么当这样的事情发生时这不起作用:
Thread(Runnable() {
fun run() {
...
}
})
Run Code Online (Sandbox Code Playgroud)
要创建匿名子类的对象,您需要使用object:表达式:
this.surface!!.holder!!.addCallback(object: SurfaceHolder.Callback {
override fun surfaceChanged(holder: SurfaceHolder, format: Int,
width: Int, height: Int) {
...
}
override fun surfaceCreated(holder: SurfaceHolder) {
...
}
override fun surfaceDestroyed(holder: SurfaceHolder) {
...
}
})
Run Code Online (Sandbox Code Playgroud)
并且不要忘记使用override关键字per perridden方法;)
| 归档时间: |
|
| 查看次数: |
1275 次 |
| 最近记录: |