だんだんとなれてきたAndroid開発。 今回のハマったところはこちら。
GridViewの中でButtonを使いたかった
ButterKnifeを使い、ViewHolderパターンでGridViewにセコセコとButtonを乗せていました。
Contextを使いつつ、ボタンが押されたら画面遷移をしたいと考えていたので、Activity直下のフィールドに @OnItemClick(R.id.xxx)
みたいに書くわけです。
一向にイベントが飛んでこない。
試しに、ViewHolder内で、ボタンに対して、setListener的なことをすると、今度はダイジョブ。 ただ、クラスが変わってしまっているので、コンテキストの受け渡しが面倒になる。微妙すぎる。
ここでしばし、ハマりました。
Buttonがイベントを掴んでいる
同じようなことを ImageViewでやってみると、今度は無事にイベントが飛んできていて、うーむ。となっていたのですが、わかってしまえば簡単というか。。 Buttonがイベントを拾って、返しちゃってるっぽい。そういう感じなのね。
サンプル画面を作ろうとして、適当にUIパーツ選んでたのがよくなかったのか。。 気をつけよう。