web-dev-qa-db-ja.com

Android StudioのOnClickアノテーションの「メソッドは使用されない」という警告を削除

この質問が以前に聞かれた場合は申し訳ありません。最新バージョンのAndroid Studio(0.5.7)でButterknife 5.0を使用しています。「OnClick」アノテーションを使用するメソッドの「メソッドが使用されない」という警告を削除するにはButterKnife。私は、Eclipseが「OnClick」メソッドに対してこの警告を出さないことに気付きました。

41
TMS

Android Studioでこれらの警告を抑制する正しい方法は、Methodを与えるメソッドでAlt + Enterを押すことです「yourFunction()」は使用されません警告、および選択

Suppress for methods annotated by 'butterknife.OnClick'
88
Osvald Ivarsson

この注釈を追加するだけです:

@SuppressWarnings("unused")

そのように:

@SuppressWarnings("unused")
@OnClick(R.id.myButton)
public void clickHandler()
{
    // ...
}

私の個人的な好み(これは良い習慣だと思います)は、簡単な説明とともにコメントを追加することです:

@SuppressWarnings("unused") // it's actually used, just injected by Butter Knife
71
Konrad Morawski

Osvaldの答えはすぐにわかります。

ただし、バターナイフアノテーションのタイプごとに別々に警告を抑制することを避けたい場合は、彼の指示に従い、を開いて.idea/misc.xmlそして、このセクションを見つけます。

<component name="EntryPointsManager">
  <entry_points version="2.0" />
  <list size="1">
    <item index="0" class="Java.lang.String" itemvalue="butterknife.OnClick" />
  </list>
</component>

その中で、単にbutterknife.OnClick with butterknife.*

これ以降、注入されたすべてのイベントハンドラーは警告を回避します。

10
Adam

コンパイラに別の依存関係を追加します。

Gradle

dependencies {
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0' // new line
    compile 'com.jakewharton:butterknife:8.4.0' // original library
}

これは 公式Webサイト で推奨されています。

Build-> Rebuild Projectを忘れないでください。そうすれば、使用法が生成され、警告が消えます。

5
Alex Sheiko