Подтвердить что ты не робот

Android Studio SuppressLint "ClickableViewAccessibility" не работает

В некоторых случаях я хочу отключить прокрутку на моем ScrollView.
Для этого я использую .setOnTouchListener и возвращаю true в onTouch.

3.0 студия дает мне предупреждение, что я должен переопределить метод performClick и я не хочу этого делать.

Когда я нажимаю alt+enter он дает мне возможность подавить это предупреждение, добавляет @SuppressLint("ClickableViewAccessibility") к моему методу.

К сожалению, это не работает - я все еще вижу это предупреждение.
Я также пробовал разные комбинации //noinspection, но не повезло.

Как я могу подавить это предупреждение?

4b9b3361

Ответ 1

Я заметил то же самое, что ни аннотация

@SuppressLint("ClickableViewAccessibility")

ни встроенное подавление

//noinspection AndroidLintClickableViewAccessibility

работать надежно. Последний делает подавление предупреждения при работе в Studio IDE, но не подавляет его при запуске lint в качестве задачи градации.

Пока единственный метод подавления работает как в Android Studio, так и в решении lint gradle заключается в объединении встроенного подавления

//noinspection AndroidLintClickableViewAccessibility
someView.setOnTouchListener(...)

с файлом конфигурации lint (который работает с детализацией файлов), например, в build.gradle:

lintOptions {
    lintConfig file("lint.xml")
}

и в lint.xml:

<lint>
    <issue id="ClickableViewAccessibility">
        <ignore path="**/TheClassToSuppressTheWarningIn.java"/>
    </issue>
</lint>

Для чего это стоит, есть проблема, и она должна быть исправлена в Android Studio 3.1.


Обновление 2018-03-28: Да, это исправлено в Android Studio 3.1.