【发布时间】:2017-06-11 07:56:18
【问题描述】:
我正在尝试使用 ButterKnife 来点击。我做了下面的代码,没有任何反应,我在互联网上看过教程,他们做的和我做的一样。
这里是代码
@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中调用startTest(),这并不意味着ButterKnife 正在工作。这只是意味着您正在成功调用该方法。 -
仔细检查一下,您能否也将
activity_main.xml添加到您的问题中?此外,如果您可以尝试添加(View view)作为您的startTest方法的参数。不应该有任何区别,但只是想排除任何 ButterKnife 怪事。最后,您的应用级build.gradle。 -
我的 build.gradle 中有这些行: compile 'com.jakewharton:butterknife:8.4.0' compile 'com.google.firebase:firebase-auth:9.6.1' compile 'com. google.android.gms:play-services-auth:9.6.1' 编译 'com.android.support:design:24.2.1'
-
@Felipe 请参阅下面的答案。我认为您还缺少
build.gradle中的 ButterKnife 编译器。
标签: java android buttonclick butterknife