我的Android项目中有一个代码:
public boolean isLoadInProgress(boolean privateLoad, boolean publicLoad) {
if (privateLoad && privateLoadInProgress) {
return true;
}
if (publicLoad && publicLoadInProgress) {
return true;
}
return false;
}
我在第二个if语句中得到一个lint警告:'if'语句可以简化。这显然是因为我也可以写:
return publicLoad && publicLoadInProgress;
但是,为了便于阅读,我想保持这种方式。我知道有一些内联注释注释用于关闭那个地方的lint警告,但我在Android Lint documentation中找不到它。你能告诉我这个注释/评论是什么吗?
答案 0 :(得分:20)
禁用警告的简单代码注释是:
//noinspection SimplifiableIfStatement
在if语句之上,只应在那个地方关闭警告。
在示例中,这将是:
public boolean isLoadInProgress(boolean privateLoad, boolean publicLoad) {
if (privateLoad && privateLoadInProgress) {
return true;
}
//noinspection SimplifiableIfStatement
if (publicLoad && publicLoadInProgress) {
return true;
}
return false;
}
答案 1 :(得分:11)
您可以在方法上方添加@SuppressWarnings("SimplifiableIfStatement")
。
答案 2 :(得分: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;
}
在突出显示的if
处,您可以使用alt-enter快捷键打开上下文菜单,然后选择Simplify > Suppress for method
(尽可能缩小范围)。
答案 3 :(得分:0)
不确定
在.java文件中,您可以抑制@SuppressLint的问题 注释。您提供lint问题ID作为参数 注释
实施例:
@SuppressLint("AndroidWarningId")
public boolean isLoadInProgress(boolean privateLoad, boolean publicLoad) {
if (privateLoad && privateLoadInProgress) {
return true;
}
if (publicLoad && publicLoadInProgress) {
return true;
}
return false;
}
只需将AndroidWarningId替换为相应的警告,您可以在here
中找到它们 虽然我建议用这种方式简化它:
public boolean isLoadInProgress(boolean privateLoad, boolean publicLoad) {
if (privateLoad && privateLoadInProgress
|| publicLoad && publicLoadInProgress) {
return true;
}
return false;
}
它仍然可读并且使用较少的空间(虽然有点丑,但比supresslint更好)。
您还可以使用逗号分隔列表来抑制多个问题:
@SuppressLint({ “NewApi”, “StringFormatInvalid”})
干杯!