解决ButterKnife没有绑定视图并引发异常的方法是:
implementation 'com.jakewharton:butterknife:10.2.3'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.3'
@BindView
注解来标记需要绑定的视图:public class MainActivity extends AppCompatActivity {
@BindView(R.id.button)
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this); // 在onCreate方法中进行视图绑定
}
}
ButterKnife.bind(this)
方法来进行视图绑定。如果是Fragment,则应该在onViewCreated
方法中进行绑定:@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_example, container, false);
ButterKnife.bind(this, view); // 在onViewCreated方法中进行视图绑定
return view;
}
@OnClick(R.id.button)
public void onButtonClick() {
// 点击事件处理逻辑
}
ButterKnife.unbind(this)
来解除视图绑定,避免内存泄漏:@Override
protected void onDestroy() {
super.onDestroy();
ButterKnife.unbind(this); // 在Activity销毁时解除视图绑定
}
通过以上步骤,就可以正确地使用ButterKnife进行视图绑定,避免出现“ButterKnife没有绑定视图并引发异常”的问题。