我最近目睹了一个奇怪的行为,当我使用 ButterKnife 绑定适配器内的图像按钮的 OnClick 方法时,正如这个问题的标题所指出的那样。正如文档中所建议的,我声明了一个内部类 ViewHolder,所有@Bind
声明都在其中发生,我也有@OnClick
.
我的 ViewHolder 类如下所示:
class ViewHolder {
private Product product;
@Bind(R.id.title)
TextView text;
@Bind(R.id.price)
TextView price;
public ViewHolder(View view, Product product) {
ButterKnife.bind(this, view);
this.product = product;
}
@OnClick(R.id.image_button)
public void launchProductFragment() {
ProductFragment fragment = new ProductFragment();
Bundle args = new Bundle();
args.putInt(Tools.WS_PRODUCT_GROUP_ID, product.getId());
FragmentTransaction ft = activity.getFragmentManager().beginTransaction();
}
}
注意:当我直接在我的getView
方法中设置一个好的旧 OnClickListener 时,点击可以正常工作,并显示预期的结果。
这是一个已知的问题?还是我在实施中所做的事情导致了它?