Ci scusiamo se questa domanda è stata già chiesta. Sto usando Butterknife 5.0 con l'ultima versione di Android Studio (0.5.7). Come posso rimuovere l'avviso "Il metodo non viene mai utilizzato" per i metodi che utilizzano l'annotazione "OnClick" di ButterKnife. Ho notato che Eclipse non fornisce questo avviso per i metodi "OnClick". Grazie in anticipoRimuovi l'avviso "Il metodo non viene mai utilizzato" per l'annotazione OnClick in Android Studio
risposta
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'
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
può essere più dettagliato: @SuppressWarnings ({ "UnusedDeclaration"}) @SuppressWarnings ({ "UnusedParameters"}) – AndrewS
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.
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 –
@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
@Tom no, SuppressWarnings è un'annotazione utilizzata direttamente nei file di codice –
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.
questa dovrebbe essere la risposta giusta ora –
- 1. Android: pulsante overlay onClick non viene mai chiamato
- 2. Perché sto ricevendo "il parametro non viene mai utilizzato [E0392]"?
- 3. Android: perché il metodo onClick non funziona?
- 4. Il servizio Android non viene mai avviato - onStartCommand() non chiamato
- 5. Avviso compilatore CS0067: l'evento non viene mai utilizzato
- 6. NSFilePresenter -presentedSubitemDidAppearAtURL: il metodo non viene mai chiamato
- 7. Il metodo onDraw() di SurfaceView esteso non viene mai chiamato
- 8. Il metodo GetObjectData() non viene mai colpito durante l'implementazione ISerializable
- 9. Il contesto dell'applicazione Android viene mai distrutto?
- 10. metodo onClick non chiamato su Android
- 11. Android un metodo OnClick per più pulsanti?
- 12. Come posso trovare dove un metodo o una variabile viene utilizzato in Android Studio (collegamento)
- 13. Android non riesce a trovare il mio metodo onClick
- 14. Il metodo onActivityResult non viene chiamato Android
- 15. Android studio non viene eseguito
- 16. non onclick quando il bambino viene cliccato
- 17. Rimuovi elementi onclick (incluso il pulsante Rimuovi stesso) con jQuery
- 18. Studio Android non viene scaricato completamente
- 19. java.lang.IllegalStateException: impossibile trovare il metodo onClick del pulsante in Android Studio
- 20. Perché afterRender non viene mai chiamato?
- 21. TaskScheduler.UnobservedTaskException non viene mai chiamato
- 22. Xcode, vedere dove viene utilizzato un metodo
- 23. layout di rotaie parziali con resa denominata - perché il blocco di rendimento non viene mai utilizzato?
- 24. La funzione onPageScrollStateChanged di Android ViewPager non viene mai chiamata
- 25. OnPageSelected non viene mai chiamato per il primo elemento?
- 26. OnInfoListener non viene mai chiamato
- 27. CustomValidator ServerValidate il metodo non viene attivato
- 28. Il metodo Readonly per campo nell'interfaccia di amministrazione Django non viene mai chiamato
- 29. Per cosa viene utilizzato?
- 30. Android personalizzato Layout - OnDraw() non viene mai chiamato
come si fa annullare questa azione? –
È possibile annullarlo modificando il file .idea/misc.xml. – datalost
FYI, aggiunge esattamente ciò che ha detto @codesparkle (testato con AS 2.0) – seb