Android Studio SuppressLint"ClickableViewAccessibility"无效

Gol*_*ene 14 android lint android-studio

在某些情况下,我想在我的ScrollView上禁用滚动.
要做到这一点我使用.setOnTouchListener,并返回trueonTouch.

3.0工作室给我提示我应该覆盖performClick方法,我不想这样做.

当我点击alt+enter它时,我可以选择压制此警告,它会增加@SuppressLint("ClickableViewAccessibility")我的方法.

不幸的是,这不起作用 - 我仍然看到这个警告.
我也试过不同的组合//noinspection,但没有运气.

我怎么能压制这个棉绒警告?

laa*_*lto 20

我注意到同样没有注释

@SuppressLint("ClickableViewAccessibility")
Run Code Online (Sandbox Code Playgroud)

也没有内联抑制

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

工作可靠.后者在Studio IDE中工作时会抑制警告,但在将lint作为gradle任务运行时不会抑制警告.

到目前为止,唯一的抑制方法在Android Studio和lint gradle任务中都有效,就是结合内联抑制

//noinspection AndroidLintClickableViewAccessibility
someView.setOnTouchListener(...)
Run Code Online (Sandbox Code Playgroud)

使用lint配置文件(适用于文件粒度),例如build.gradle:

lintOptions {
    lintConfig file("lint.xml")
}
Run Code Online (Sandbox Code Playgroud)

并在lint.xml:

<lint>
    <issue id="ClickableViewAccessibility">
        <ignore path="**/TheClassToSuppressTheWarningIn.java"/>
    </issue>
</lint>
Run Code Online (Sandbox Code Playgroud)

对于它的价值,报告了一个问题,它应该在Android Studio 3.1中修复.


更新2018-03-28:是的,它已在Android Studio 3.1中修复.

  • 不记得我最初学到它的地方,但一般来说`// noinspection AndroidLintXxx`会抑制`xxx` lint检查以下代码行,使其成为最本地化(因此也是最优选)的抑制方法. (6认同)