OnClick ButterKnife,没有任何反应

OnClick ButterKnife, nothing happens

我正在尝试将 ButterKnife 用于 onClick。我做了下面的代码,但没有任何反应,我在网上看了教程,他们做的和我做的一样。

这是代码

@BindView(R.id.startButton) protected ImageButton mStartButton;

@OnClick(R.id.startButton)
public void startTest(){
    Toast.makeText(this, "testing", Toast.LENGTH_LONG).show();
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    ButterKnife.bind(MainActivity.this);

}

如果我把方法 startTest();在 OnCreate 中,应用程序首次运行时会调用 toast,这表明 ButterKnife 正在运行。但我只需要在单击按钮时发生这种情况。

谢谢

我认为你的 onCreate 方法应该是 public。试试吧。

我能看到的唯一两个原因是

  1. 'protected' 需要从您的 ImageView 中删除

  1. 'startButton'实际上没有在activity_main
  2. 中定义

您提到您的 build.gradle 文件中有 compile 'com.jakewharton:butterknife:8.4.0'。我认为您可能缺少相应的编译器。将此添加到您的 dependencies 部分:

annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'