Android Studio: отключить предупреждение для строки if
У меня есть этот код где-то в моем проекте Android:
public boolean isLoadInProgress(boolean privateLoad, boolean publicLoad) {
if (privateLoad && privateLoadInProgress) {
return true;
}
if (publicLoad && publicLoadInProgress) {
return true;
}
return false;
}
Я получаю предупреждение во второй инструкции if: выражение "if" может быть упрощено. Это очевидно, потому что я мог написать также:
return publicLoad && publicLoadInProgress;
Однако я хотел бы сохранить его таким образом для удобства чтения. Я знаю, что есть некоторая встроенная аннотация комментария для отключения предупреждения о помехах в этом месте, но я не могу найти ее в документации Android Lint. Не могли бы вы рассказать мне, что это за комментарий/комментарий?
Ответы
Ответ 1
Простой комментарий кода для отключения предупреждения:
//noinspection SimplifiableIfStatement
В верхней части инструкции if следует отключить предупреждение только в этом месте.
В этом примере это будет:
public boolean isLoadInProgress(boolean privateLoad, boolean publicLoad) {
if (privateLoad && privateLoadInProgress) {
return true;
}
//noinspection SimplifiableIfStatement
if (publicLoad && publicLoadInProgress) {
return true;
}
return false;
}
Ответ 2
Вы можете добавить @SuppressWarnings("SimplifiableIfStatement")
над вашим методом.
Ответ 3
Это не ошибка 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
(сохраняя область как можно меньше).
Ответ 4
Конечно:
В .java файлах вы можете устранить проблемы с помощью @SuppressLint аннотаций. В качестве аргумента для аннотации.
Пример:
@SuppressLint("AndroidWarningId")
public boolean isLoadInProgress(boolean privateLoad, boolean publicLoad) {
if (privateLoad && privateLoadInProgress) {
return true;
}
if (publicLoad && publicLoadInProgress) {
return true;
}
return false;
}
Просто замените AndroidWarningId соответствующим предупреждением, вы можете найти в здесь
Хотя я бы предложил упростить его следующим образом:
public boolean isLoadInProgress(boolean privateLoad, boolean publicLoad) {
if (privateLoad && privateLoadInProgress
|| publicLoad && publicLoadInProgress) {
return true;
}
return false;
}
Его все еще читаемо и использует меньше места (вроде уродливого, но лучше, чем supresslint).
Вы также можете подавить несколько проблем, используя список, разделенный запятыми:
@SuppressLint ({ "NewApi", "StringFormatInvalid" })
Ура!