如何让 Butterknife 工作?
How to get Butterknife working?
我正在为我的 android 项目使用 Butterknife。我以前用过这个,但由于某种原因它不再适用于新更新。
这是我的设置:
(应用模块)build.gradle:
compile 'com.jakewharton:butterknife:8.4.0'
activity:
@BindView(R.id.navigation_pager) ViewPager mViewPager;
/.../
@Override
protected void onCreate(Bundle savedInstanceState) {
/...
/...
ButterKnife.bind(this);
堆栈跟踪:
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v4.view.ViewPager.setAdapter(android.support.v4.view.PagerAdapter)' on a null object reference
为了让 Butterknife
工作,我缺少什么?
谢谢。
您需要添加:
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
在项目 gradle 文件中
并添加:
apt 'com.jakewharton:butterknife-compiler:8.4.0'
顶部是:
apply plugin: 'android-apt'
让 butterknife 工作
有关更多信息,请参阅此 link:https://github.com/JakeWharton/butterknife
配置项目级别 build.gradle 以包含 'android-apt' 插件:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
}
然后,在模块级别应用 'android-apt' 插件 build.gradle 并添加 Butter Knife 依赖项:
apply plugin: 'android-apt'
android {
...
}
dependencies {
compile 'com.jakewharton:butterknife:8.4.0'
apt 'com.jakewharton:butterknife-compiler:8.4.0'
}
.`
class ExampleActivity extends Activity {
@BindView(R.id.navigation_pager) ViewPager mViewPager;
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.simple_activity);
ButterKnife.bind(this);
viewPager.setAdapter(new CustomPagerAdapter(this));
}
}
**MAKE SURE TO CALL setAdapter() only after ButterKnife.bind(this);**
我正在为我的 android 项目使用 Butterknife。我以前用过这个,但由于某种原因它不再适用于新更新。
这是我的设置:
(应用模块)build.gradle:
compile 'com.jakewharton:butterknife:8.4.0'
activity:
@BindView(R.id.navigation_pager) ViewPager mViewPager;
/.../
@Override
protected void onCreate(Bundle savedInstanceState) {
/...
/...
ButterKnife.bind(this);
堆栈跟踪:
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v4.view.ViewPager.setAdapter(android.support.v4.view.PagerAdapter)' on a null object reference
为了让 Butterknife
工作,我缺少什么?
谢谢。
您需要添加:
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
在项目 gradle 文件中
并添加:
apt 'com.jakewharton:butterknife-compiler:8.4.0'
顶部是:
apply plugin: 'android-apt'
让 butterknife 工作
有关更多信息,请参阅此 link:https://github.com/JakeWharton/butterknife
配置项目级别 build.gradle 以包含 'android-apt' 插件:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
}
然后,在模块级别应用 'android-apt' 插件 build.gradle 并添加 Butter Knife 依赖项:
apply plugin: 'android-apt'
android {
...
}
dependencies {
compile 'com.jakewharton:butterknife:8.4.0'
apt 'com.jakewharton:butterknife-compiler:8.4.0'
}
.`
class ExampleActivity extends Activity {
@BindView(R.id.navigation_pager) ViewPager mViewPager;
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.simple_activity);
ButterKnife.bind(this);
viewPager.setAdapter(new CustomPagerAdapter(this));
}
}
**MAKE SURE TO CALL setAdapter() only after ButterKnife.bind(this);**