Android Studio:为if语句抑制lint警告

Ter*_*rry 12 android lint suppress-warnings android-studio

我的Android项目中有一个代码:

public boolean isLoadInProgress(boolean privateLoad, boolean publicLoad) {
    if (privateLoad && privateLoadInProgress) {
        return true;
    }
    if (publicLoad && publicLoadInProgress) {
        return true;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

我在第二个if语句中得到一个lint警告:'if'语句可以简化.这显然是因为我也可以写:

return publicLoad && publicLoadInProgress;
Run Code Online (Sandbox Code Playgroud)

但是,为了便于阅读,我想保持这种方式.我知道有一些内联注释注释用于关闭该位置的lint警告,但我在Android Lint文档中找不到它.你能告诉我这个注释/评论是什么吗?

Ter*_*rry 20

禁用警告的简单代码注释是:

//noinspection SimplifiableIfStatement
Run Code Online (Sandbox Code Playgroud)

在if语句之上应该仅在该位置关闭警告.

在示例中,这将是:

public boolean isLoadInProgress(boolean privateLoad, boolean publicLoad) {
    if (privateLoad && privateLoadInProgress) {
        return true;
    }

    //noinspection SimplifiableIfStatement
    if (publicLoad && publicLoadInProgress) {
        return true;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)


epo*_*ool 11

您可以在@SuppressWarnings("SimplifiableIfStatement")上面添加方法.


ata*_*ulm 8

这不是Android Lint错误.您可以使用:

@SuppressWarnings("RedundantIfStatement")
public static boolean isLoadInProgress(boolean privateLoad, boolean publicLoad) {
    if (privateLoad && privateLoadInProgress) {
        return true;
    }
    if (publicLoad && publicLoadInProgress) {
        return true;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

在突出显示的位置if,您可以使用alt-enter快捷方式打开上下文菜单并选择Simplify > Suppress for method(保持范围尽可能小).