我正在尝试使用this library project,所以我尝试运行示例应用程序(在Github链接中的/app/source/main/
中),在MainActivity.java
中,我收到了错误导入
import butterknife.InjectView;
以及MainActivity.java
和VerticalLinearRecyclerViewSample.java
,每次出现@InjectView(...)
注释时,都会出现以下错误:
InjectView cannot be resolved to a type
那我该怎么办呢?
我做了什么:
我见过this question。没有为我工作,在那里留下了评论。
我有followed these steps to include the Butter Knife library直到第3步。关于步骤#4,"确保.apt_generated /文件夹位于项目根目录中..." - 此项目没有任何名为.apt-generated
的文件夹或项目根文件夹中的某些内容。
注意:我实际上使用的是Eclipse,而Github上的项目是针对Android Studio的,因此我在eclipse中创建了一个新项目,并从下载的Android Studio项目中复制了单个文件。我希望这没有什么不同。
答案 0 :(得分:31)
感谢@Sharj首先回答。
Butterknife 7.0.0版本包括重命名注释动词的重大变化。这在更改日志中突出显示并反映在网站中。
Version 7.0.0 *(2015-06-27)*
----------------------------
* `@Bind` replaces `@InjectView` and `@InjectViews`.
* `ButterKnife.bind` and `ButterKnife.unbind` replaces `ButterKnife.inject`
and `ButterKnife.reset`, respectively.
...
答案 1 :(得分:8)
最新版本有bind
而不是InjectView
。之前的版本,使用ButterKnife.inject(this)
来注入视图。此外,Eclipse不再受支持,开始使用Android Studio。
答案 2 :(得分:6)
@InjectView
已不再可用,已被@BindView
取代。我们必须导入Butterknife
个依赖项才能使用annotations
。
答案 3 :(得分:3)
改变ButterKnife.inject(this);到ButterKnife.bind(this);
答案 4 :(得分:0)
在implementation 'com.jakewharton:butterknife:6.1.0'
build.gradle