この質問のタイトルで指摘されているように、ButterKnife を使用してアダプター内の画像ボタンの OnClick メソッドをバインドしたときに、最近、奇妙な動作を目撃しました。@Bind
ドキュメントで示唆されているように、すべての宣言が行われる内部クラス ViewHolder を宣言しました@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();
}
}
注: 古き良き OnClickListener をgetView
メソッドに直接設定すると、クリックが適切に機能し、期待される結果が表示されます。
これは既知の問題ですか? または、実装で行ったことが原因ですか?