ButterKnife Android: 无法将侦听器添加到视图
ButterKnife Android: Unable to add Listener to View
我像这样将 Butter knife 库添加到 Gradle:
dependencies {
compile 'com.jakewharton:butterknife:8.0.1'
...
}
创建了 ID 为 btnPress
的 Button
。在我的 Activity 中,当我尝试使用 @onClick(R.id.btnPress)
添加方法时,在 运行 应用程序上,该方法没有执行。
Activity:
public class MainActivity extends AppCompatActivity {
@BindView(R.id.btnPress)
Button btnPress;
@Override
protected void onCreate(Bundle savedInstanceState) {
...
ButterKnife.bind(MainActivity.this);
}
//This method is not being called when Button is pressed.
@OnClick(R.id.btnPress)
void onPress() {
...
}
}
我是这样解决这个问题的:
首先,在您的顶级 build.gradle 文件中,包括:
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
在buildscript依赖中,如:
buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
}
然后,在您模块的 build.gradle 文件中,在顶部包含 apply plugin: 'com.neenbedankt.android-apt'
。
现在在模块级别包含 ButterKnife 库和编译器 build.gradle:
dependencies {
compile 'com.jakewharton:butterknife:8.0.1'
apt 'com.jakewharton:butterknife-compiler:8.0.1'
...
}
我像这样将 Butter knife 库添加到 Gradle:
dependencies {
compile 'com.jakewharton:butterknife:8.0.1'
...
}
创建了 ID 为 btnPress
的 Button
。在我的 Activity 中,当我尝试使用 @onClick(R.id.btnPress)
添加方法时,在 运行 应用程序上,该方法没有执行。
Activity:
public class MainActivity extends AppCompatActivity {
@BindView(R.id.btnPress)
Button btnPress;
@Override
protected void onCreate(Bundle savedInstanceState) {
...
ButterKnife.bind(MainActivity.this);
}
//This method is not being called when Button is pressed.
@OnClick(R.id.btnPress)
void onPress() {
...
}
}
我是这样解决这个问题的:
首先,在您的顶级 build.gradle 文件中,包括:
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
在buildscript依赖中,如:
buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
}
然后,在您模块的 build.gradle 文件中,在顶部包含 apply plugin: 'com.neenbedankt.android-apt'
。
现在在模块级别包含 ButterKnife 库和编译器 build.gradle:
dependencies {
compile 'com.jakewharton:butterknife:8.0.1'
apt 'com.jakewharton:butterknife-compiler:8.0.1'
...
}