ImageViewでハマった話

最近ImageViewを使用していてハマったので記事にしてみる。

ハマった時は下記のようなコードを書いていたが、if文がtrueにならずハマっていた。

ImageView v = ImageView(thiw);
v.setImageResource(R.drawable.icon);
~~~~~~~~~~~~~~~~~~~
if(v.getId() == R.drawable.icon)){
//処理
}

Android Developersにはpublic void setImageResource (int resId)と定義されていたので、
設定したresIdがgetId()で取得できると思い上記コードを書いたのだが、それが間違いで、
どうやらgetId()で取れるのはandroid:idで設定したidかsetId()で明示的に指定したIDのみらしい。

処理はsetTag()とgetTag()を使用し修正したが、ものすごく微妙な所でハマったのでこれからは気を付けたい。