【发布时间】:2015-01-03 12:23:21
【问题描述】:
@OnClick 在 ButterKnife 库的实现中不起作用
当我点击Button 时,什么都没有发生。
这是我的完整代码:
public class MainActivity extends ActionBarActivity {
@InjectView(R.id.edit_user)
EditText username;
@InjectView(R.id.edit_pass)
EditText password;
@OnClick(R.id.btn)
void submit() {
// TODO call server...
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.inject(this);
// TODO Use "injected" views...
}
}
这是我的 xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<EditText
android:id="@+id/edit_user"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="user" />
<EditText
android:id="@+id/edit_pass"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="user" />
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
谢谢
【问题讨论】:
-
你打电话给
ButterKnife.inject(this, view);还是ButterKnife.inject(this);? -
ButterKnife.inject(this);
-
@shayanpourvatan 必须将 ButterKnife.inject(this) 更改为 ButterKnife.inject(this, view)??
-
你从
activity或fragment调用这个?如果你从活动this调用就足够了,但如果你在片段或适配器中,你也必须传递你的view -
我用的是Activity,有什么要求开启注解吗?
标签: android butterknife