Butterknife
我使用@bindView
来注释Button。
但它发生了错误。
Required view 'hello' with ID 2131427413 for field 'hello' was not found.
@BindView(R.id.hello)
Button hello;
@Inject
GitHubApiService gitHubApiService;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ButterKnife.bind(this);
hello.setText("hello");
}
butterknife的依赖
apply plugin: 'com.android.application'
apply plugin: 'com.neenbedankt.android-apt'//这个是自定义注解用的编译插件
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'
}
}
答案 0 :(得分:1)
您需要在调用ButterKnife.bind(this)
之前设置内容视图,如下所示:
setContentView(R.layout.your_view);
ButterKnife.bind(this);
答案 1 :(得分:0)
谢谢!我自己找到了理由。
在build.gradle of app module
中添加以下内容之前。
但以下内容应添加到build.gradle of project
>classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
>classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
答案 2 :(得分:0)
同时检查setContentView(R.layout.your_view);
您是否通过了正确的布局