web-dev-qa-db-fra.com

L'importation butterknife.InjectView ne peut pas être résolu

J'essaie d'utiliser ce projet de bibliothèque , alors j'ai essayé d'exécuter l'application exemple (dans /app/source/main/ dans le lien Github), et dans MainActivity.Java, l'erreur s'affiche lors de l'importation 

import butterknife.InjectView;

et aussi dans MainActivity.Java et VerticalLinearRecyclerViewSample.Java, à chaque occurrence d'annotation @InjectView(...), j'obtiens l'erreur suivante:

InjectView cannot be resolved to a type

Alors, que dois-je faire à ce sujet?


CE QUE J'AI ESSAYÉ:

J'ai vu cette question . Cela n'a pas fonctionné pour moi, a laissé un commentaire.

J'ai suivi ces étapes pour inclure la bibliothèque Butter Knife till, étape 3. À propos de l'étape 4, "Assurez-vous que le dossier .apt_generated/se trouve dans la racine de votre projet ..." - ce projet ne contient aucun dossier nommé .apt-generated ni quelque chose dans la racine du projet. 


Remarque: J'utilise réellement Eclipse et le projet sur Github est pour Android Studio. J'ai donc créé un nouveau projet dans Eclipse et copié des fichiers individuels à partir du projet Android Studio téléchargé. J'espère que cela n'a pas fait de différence.

10
Solace

Nous remercions @Sharj d'avoir répondu en premier.

La version 7.0.0 de Butterknife incluait le changement radical du changement de nom des verbes d'annotation. Ceci est mis en évidence dans le changelog et reflété sur le site 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

29
Derek

La dernière version a bind au lieu de InjectView. La version précédente, utilise ButterKnife.inject(this) pour injecter la vue. En outre, Eclipse n'est plus pris en charge, commencez à utiliser Android Studio.

7
Sharj

@InjectView n'est plus disponible et est remplacé par @BindView. Nous devrons importer des dépendances Butterknife pour utiliser annotations

5
Manideep

Changer ButterKnife.inject (this); à ButterKnife.bind (this);

2
paulfranco

Essayez d'ajouter: implementation 'com.jakewharton:butterknife:6.1.0' dans votre build.gradle

0
Youn Tivoli