这是我的showDialog函数,当有人点击活动中的按钮时会调用它。
private void showCouponCodeDialog() {
final Dialog dialog = new Dialog(this);
dialog.setContentView(R.layout.dialoge_apply_coupon);
dialog.setTitle(R.string.coupon_code);
final ProgressBar progressBar = (ProgressBar) dialog.findViewById(R.id.progressBar);
progressBar.setVisibility(View.GONE);
Button btnApplyCoupon = (Button) dialog.findViewById(R.id.btnApplyCoupon);
btnApplyCoupon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
progressBar.setVisibility(View.VISIBLE);
}
});
dialog.show();
}
当我做的时候
@Bind(R.id.progressBar) ProgressBar progressBar;
它给出错误@Bind不适用于局部变量。
这很好用。
final ProgressBar progressBar = (ProgressBar) dialog.findViewById(R.id.progressBar);
在这种情况下如何使用butterknief的Bind()?
答案 0 :(得分:0)
使用Butterknife
您可以使用此类绑定方法:
Butterknife.bind(Dialog dialog)
或
Butterknife.bind (@NonNull Object target, @NonNull Dialog source)
第二个更好,因为它暗示,哪个(在哪个类中)绑定被保持。请记住,这些函数返回Unbinder
并且当对话框被销毁时解除绑定非常重要,否则可能会发生内存泄漏。