如何在Kotlin中取消针对单行的警告

时间:2019-02-13 11:17:19

标签: android kotlin suppress-warnings

我有用Kotlin编写的Android应用。我的代码中有一个警告,我想针对一行而不是整个功能隐瞒它。

在科特林有可能吗?像这样

fun largeFun(canvas: Canvas) {
    ...

    if (BuildConfig.DEBUG) {
        // Suppress allocation warning
        canvas.drawText(Date().toString, x, y, p)
    }
}

PS,我知道我可以将该代码提取到一个单独的函数中并禁止对该函数的警告,但是我仍然想知道单行警告抑制是否可能

EDIT编辑问题代码。解决方案是提取分配给val的内容,@ Suppress会按预期工作

1 个答案:

答案 0 :(得分:2)

没有任何问题。只需将注释Suppress放在要禁止显示警告的作用域之前。例如:

fun main() {
    @Deprecated(level = WARNING)
    fun deprecatedFun() {}

    if (BuildConfig.DEBUG) {
        @Suppress("DEPRECATION") val f = deprecatedFun()
    }
}

此外,Android Studio还提供了针对特定范围的警告警告的可能性-alt + enter;)

enter image description here