2012年3月27日火曜日

view背景色変更

android:background"色コード16進数"

を追加。それだけ。

onCreateは(ある意味)勝手に呼ばれる

onCreate時にDBからデータを引っ張ってくるアクティビティの挙動がおかしかったのでメモ。
どうやら端末の向きが変わったりした時にも呼ばれるらしい。
AndroidManifest.xmlにandroid:screenOrientationと追加すると固定される模様。

参考:「Android : onCreate()」
http://elix-jp.sakura.ne.jp/wordpress/?p=125


【追記】
画面スクロール時にもSQLクエリ発行されてるっぽいので何だろうと調べてみた。
ていうかSQLどうこうの話じゃなかった。oops。

android内部でメモリ節約のためにデータを表示するviewを再利用してるとのこと。
よって、初めてview生成する時だけnewして、実体が既にあるviewが渡されたら情報を保存して、再利用に備えてやる必要がある。
nullが来たら同じデータ型を持つviewholderを実装してあげて、
    static class ViewHolder{
        TextView tv1;
        TextView tv2;
        TextView tv3;
    }

タグ情報付加。
convertView.setTag(VH);

実体あったら
VH = (ViewHolder)convertView.getTag();


ハマった。