2017-11-06 43 views
8

場合によっては、ScrollViewでスクロールを無効にしたい場合があります。
.setOnTouchListenerを使用し、trueonTouchに返します。Android Studio SuppressLint「ClickableViewAccessibility」が機能しない

3.0スタジオでは、performClickメソッドをオーバーライドする必要があることを警告してくれています。私はそうしたくありません。

私がalt+enterを押すと、この警告を抑えるオプションが与えられ、@SuppressLint("ClickableViewAccessibility")が私のメソッドに追加されます。

残念ながら、これは動作していません - 私はまだその警告が表示されます。
私は//noinspectionの異なる組み合わせを試しましたが、運はありません。

このリント警告を抑制するにはどうすればよいですか?

答えて

12

私は確実に同じものでもない注釈

@SuppressLint("ClickableViewAccessibility") 

もインライン抑制

//noinspection AndroidLintClickableViewAccessibility 

仕事に気づきました。後者はスタジオIDEで作業中に警告を表示しませんが、lintをgradleタスクとして実行しても警告は表示されません。

これまでのところ唯一の抑制方法は、Android Studioでの両方で動作し、糸くずGradleのタスクは、例えば、(ファイルの粒度で動作します)糸くずの設定ファイルでインライン抑制

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

を組み合わせることですbuild.gradleに:

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

lint.xmlで:

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

何が価値があるのに対して、an issue reportedがありますし、それは、Android Studioの3.1で修正される必要があります。

+0

うわー、大変ありがとう! 1つの質問 - AndroidLintClickableViewAccessibilityをどこから取得しましたか? )私はソースのどこかでそれを検索しようとしましたが、助けてください。 –

+6

私は元々どこでそれを学んだのですか覚えていませんが、一般的に '// noinspection AndroidLintXxx'は次のコード行で' Xxx' lintチェックを抑制し、最もローカライズされた(したがって最も好ましい)抑止方法にします。 – laalto

+1

ありがとうございます、 '// noinspection AndroidLintClickableViewAccessibility'は厄介な警告を削除しました。 – CoolMind

関連する問題