2014-04-30 18 views

risposta

76

Il modo corretto in Android Studio di sopprimere questi avvisi è di p ress Alt + Invio sul metodo che dia la Metodo 'yourFunction()' non è mai usato avvertimento, e la selezione di risposta

Suppress for methods annotated by 'butterknife.OnClick' 
+0

come si fa annullare questa azione? –

+4

È possibile annullarlo modificando il file .idea/misc.xml. – datalost

+0

FYI, aggiunge esattamente ciò che ha detto @codesparkle (testato con AS 2.0) – seb

45

Basta aggiungere questa annotazione:

@SuppressWarnings("unused") 

Proprio così:

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

La mia preferenza personale (che io vedo come buona pratica) è quello di aggiungere un commento con una breve spiegazione :

@SuppressWarnings("unused") // it's actually used, just injected by Butter Knife 
+2

può essere più dettagliato: @SuppressWarnings ({ "UnusedDeclaration"}) @SuppressWarnings ({ "UnusedParameters"}) – AndrewS

9

di Osvald è a posto.

Tuttavia, se si vuole evitare la soppressione avvertenze separatamente per ogni tipo di butterknife annotazione, seguire le sue istruzioni, e poi aprono .idea/misc.xml e trovare questa sezione:

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

In ciò, è sufficiente sostituire butterknife.OnClick con butterknife.*.

D'ora in poi, tutti i gestori di eventi iniettati evaderanno l'avviso.

+0

Non male, ma penso che di solito non si impegnino i file '.idea' nel repository, quindi ogni sviluppatore deve fare questo trucco individualmente, mentre un l'annotazione funziona automaticamente per tutti poiché è parte integrante della base di codici –

+0

@KonradMorawski Entrambi i metodi modificano solo i file '.idea' in modo da avere lo stesso problema in entrambi i casi. Ciò che è e non è impegnato in un repository dipende interamente da ciò che il repository è configurato per ignorare. – Tom

+0

@Tom no, SuppressWarnings è un'annotazione utilizzata direttamente nei file di codice –

2

Aggiungi un'altra dipendenza per il compilatore:

Gradle

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

Questo è consigliato sul official website.

Ricordarsi di Build -> Ricreare il progetto, in modo da generare usure e disattivare l'avviso.

+0

questa dovrebbe essere la risposta giusta ora –

Problemi correlati