[android]カスタムビューを作る一歩目

res/values/attr.xml に、以下の要領で、<declare-styleable>を定義するらしい。
以降はlayout/*.xmlにてこのカスタムビューを指定するだけ。

もちろん、本体のjavaプログラムは別途書かないと、リンクできないですよー(試してないけど) 

<resources>
  <declare-styleable name="CustomView">

[android]GridView使用時、getViewのposition 0がスクロール時に都度呼びだされる問題

AndroidのGridViewを使っていて、adapterのgetViewにてネット中のファイルをDLしsetImageViewしようとするとき、しばしばDLするThreadかAsyncTaskの最後で実行すると思う。

このとき、setImageBitmapをUIスレッドで実行させるため、Handler.postを使うとなぜかgetViewのposition 0が再度呼ばれるらしい。

実は、UIスレッドでないスレッドからでもsetImageBitmapは例外を出すことなく呼べてので、こうしてやるとこの症状は収まる。

まあ、本当はgetViewが何度呼ばれても問題ないように作るべきなんだろうけど、実際よばれすぎるのも気持ち悪いし速度見積りにも影響がでる。

今回は、position 0だけなら2度呼びされても速度に影響がでないように実装してすませた。速度とメモリは相反するからね。