使用 ButterKnife 绑定监听器

OnClick 监听器:

@OnClick(R.id.login)
public void login(View view) {
  // Additional logic
}

侦听器方法的所有参数都是可选的:

@OnClick(R.id.login)
public void login() {
   // Additional logic
}

具体类型将自动投放:

@OnClick(R.id.submit)
public void sayHi(Button button) {
  button.setText("Hello!");
}

用于公共事件处理的单个绑定中的多个 ID:

@OnClick({ R.id.door1, R.id.door2, R.id.door3 })
public void pickDoor(DoorView door) {
  if (door.hasPrizeBehind()) {
    Toast.makeText(this, "You win!", LENGTH_SHORT).show();
  } else {
    Toast.makeText(this, "Try again", LENGTH_SHORT).show();
  }
}

通过不指定 ID,自定义视图可以绑定到自己的侦听器:

public class CustomButton extends Button {
  @OnClick
  public void onClick() {
    // TODO 
  }
}