2015-07-21 23 views
6

Sto cercando di usare this library project, così ho cercato di eseguire l'applicazione di esempio (in /app/source/main/ nel link Github), in MainActivity.java, sto ottenendo l'errore di importazioneIl butterknife.InjectView importazione non può essere risolto

import butterknife.InjectView; 

e anche in MainActivity.java e VerticalLinearRecyclerViewSample.java, ad ogni occorrenza di @InjectView(...) annotazione, ottengo il seguente errore:

InjectView cannot be resolved to a type 

Così wh dovrei fare su questo?


quello che ho provato:

ho visto this question. Non ha funzionato per me, ha lasciato un commento lì.

Ho followed these steps to include the Butter Knife library fino al passaggio 3. Informazioni sul passaggio 4, "Assicurarsi che la cartella .apt_generated/sia nella radice del progetto ..." - questo progetto non ha alcuna cartella denominata .apt-generated o qualcosa nella cartella principale del progetto.


Nota: Io in realtà uso Eclipse, e il progetto su Github è per Android Studio, così ho creato un nuovo progetto in Eclipse e copiato i singoli file dal progetto Studio Android scaricato. Spero che questo non abbia fatto la differenza.

+3

Quale versione di ButterKnife si sta utilizzando? L'ultima versione ha binding invece di InjectView. Versione precedente, usa ButterKnife.inject (this) per iniettare la vista. Inoltre, Eclipse non è più supportato, inizia a utilizzare Android Studio. – Sharj

+0

@Sharj v7.0.1 scaricato da questa pagina. '@ Bind' funziona, grazie mille. Se puoi postarlo come risposta, posso accettarlo. – Solace

+0

pubblicato come risposta. – Sharj

risposta

23

Credito a @Sharj per rispondere per primo.

La versione di Butterknife 7.0.0 comprendeva la modifica improvvisa della rinomina dei verbi di annotazione. Questo è evidenziato nel registro delle modifiche e si riflette nel sito Web.

Version 7.0.0 *(2015-06-27)* 
---------------------------- 

* `@Bind` replaces `@InjectView` and `@InjectViews`. 
* `ButterKnife.bind` and `ButterKnife.unbind` replaces `ButterKnife.inject` 
    and `ButterKnife.reset`, respectively. 
... 

https://github.com/JakeWharton/butterknife/blob/f65dc849d80f6761d1b4a475626c568b2de883d9/CHANGELOG.md

+0

scarso Orientamento all'oggetto ... la modifica dell'annotazione interrompe l'app in caso di creazione automatica – anshulkatta

+0

Risposta tardiva qui, ma la modifica dell'API è stata eseguita come parte della versione 7.x.x Major in modo che sia consentita nella versione semantica. http://semver.org/ – Derek

6

ultima versione ha bind invece di InjectView. Versione precedente, utilizza ButterKnife.inject(this) per iniettare la vista. Inoltre, Eclipse non è più supportato, inizia a utilizzare Android Studio.

+2

Ciao, volevo davvero accettare la tua risposta. Ma la risposta di Derek (in cui hanno accreditato la tua risposta) è più descrittiva e leggermente più completa. Così ho fatto una domanda sullo scambio di meta-stack su quale accettare, e ho il consiglio che dovrei accettare quello che sarà più utile alla comunità. Quindi potevo solo alzare la tua risposta. Avrei più voti se potessi. Grazie per aver risposto. – Solace

+1

Votato per l'onestà! :) –

+0

Ehi. Sto ancora lavorando su Eclipse. C'è un modo per importare ButterKnife lì? – Zen

Problemi correlati