首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Kotlin -常数的未解析引用

Kotlin -常数的未解析引用
EN

Stack Overflow用户
提问于 2015-04-06 21:48:11
回答 1查看 1.9K关注 0票数 1

我正在尝试为我的安卓应用程序使用新的摄像头硬件API (android.hardware.camera2)的示例代码。首先,我通过用于Android的Kotlin插件的自动转换特性将Java代码转换为Kotlin代码。下面是转换后的代码的一部分:

代码语言:javascript
运行
复制
private val mCaptureCallback = object : CameraCaptureSession.CaptureCallback() {

    private fun process(result: CaptureResult) {
        when (mState) {
            STATE_PREVIEW -> {
            }// We have nothing to do when the camera preview is working normally.
            STATE_WAITING_LOCK -> {
                val afState = result.get(CaptureResult.CONTROL_AF_STATE)
                if (CaptureResult.CONTROL_AF_STATE_FOCUSED_LOCKED == afState || CaptureResult.CONTROL_AF_STATE_NOT_FOCUSED_LOCKED == afState) {
                    // CONTROL_AE_STATE can be null on some devices
                    val aeState = result.get<Int>(CaptureResult.CONTROL_AE_STATE)
                    if (aeState == null || aeState == CaptureResult.CONTROL_AE_STATE_CONVERGED) {
                        mState = STATE_WAITING_NON_PRECAPTURE
                        captureStillPicture()
                    } else {
                        runPrecaptureSequence()
                    }
                }
            }
            STATE_WAITING_PRECAPTURE -> {
                // CONTROL_AE_STATE can be null on some devices
                val aeState = result.get<Int>(CaptureResult.CONTROL_AE_STATE)
                if (aeState == null || aeState == CaptureResult.CONTROL_AE_STATE_PRECAPTURE || aeState == CaptureRequest.CONTROL_AE_STATE_FLASH_REQUIRED) {
                    mState = STATE_WAITING_NON_PRECAPTURE
                }
            }
            STATE_WAITING_NON_PRECAPTURE -> {
                // CONTROL_AE_STATE can be null on some devices
                val aeState = result.get<Int>(CaptureResult.CONTROL_AE_STATE)
                if (aeState == null || aeState != CaptureResult.CONTROL_AE_STATE_PRECAPTURE) {
                    mState = STATE_PICTURE_TAKEN
                    captureStillPicture()
                }
            }
        }
    }

我得到了以下未解决的引用错误:

代码语言:javascript
运行
复制
CaptureResult.CONTROL_AF_STATE_FOCUSED_LOCKED
CaptureResult.CONTROL_AF_STATE_NOT_FOCUSED_LOCKED
CaptureResult.CONTROL_AE_STATE_CONVERGED
CaptureResult.CONTROL_AE_STATE_PRECAPTURE
CaptureRequest.CONTROL_AE_STATE_FLASH_REQUIRED

但是这些常量在原始Java代码中是可以识别的。这些错误有什么解决办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-07 22:04:22

这些变量是在CameraMetadata中声明的。在Kotlin中,不能对子类调用静态变量和方法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29480242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档