Remove “Method is never used” warning for OnClick annotation in Android Studio

后端 未结 4 1929
Happy的楠姐
Happy的楠姐 2020-12-30 18:35

Sorry if this question has been asked before. I am using the Butterknife 5.0 with the latest version of Android Studio(0.5.7). How can I remove the \"Method is never used\"

相关标签:
4条回答
  • 2020-12-30 19:25

    Osvald's answer is spot on.

    However, if you want to avoid suppressing warnings separately for each type of butterknife annotation, follow his instructions, and then open up .idea/misc.xml and find this section:

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

    Therein, simply replace butterknife.OnClick with butterknife.*.

    From now on, all your injected event handlers will evade the warning.

    0 讨论(0)
  • 2020-12-30 19:29

    The correct way in Android Studio to suppress these warnings is to press Alt+Enter on the method giving the Method 'yourFunction()' is never used warning, and selecting

    Suppress for methods annotated by 'butterknife.OnClick'
    
    0 讨论(0)
  • 2020-12-30 19:30

    Simply add this annotation:

    @SuppressWarnings("unused")
    

    Just like that:

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

    My personal preference (which I see as good practice) is to add a comment with a brief explanation:

    @SuppressWarnings("unused") // it's actually used, just injected by Butter Knife
    
    0 讨论(0)
  • 2020-12-30 19:30

    Add another dependency for the compiler:

    Gradle

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

    This is recommended on the official website.

    Remember to Build -> Rebuild Project, so it will generate usages and make the warning go away.

    0 讨论(0)
提交回复
热议问题