GridView に画像をロードするときにスレッドを使う場合・・・はじめにダミー画像を入れておいて、裏のスレッドで画像をロードして・・・そのあとどうするのか?
View#invalidate() を使うのかと思ったがそうではなかった。
BaseAdapter#notifyDataSetChanged() を呼べばGridViewの表示を更新してくれる。つまり再度、BaseAdapter#getView() が呼ばれる。
でもこの notifyDataSetChanged は GUIのスレッドから呼ばないと反応しないので注意。
guiThread.post(new Runnable(){
@Override
public void run() { notifyDataSetChanged(); }
});
※guiThreadは Handlerのインスタンス。
この辺は、javax.swing.JTable のモデル更新と同じ発想でコーディングできそう。
0 件のコメント:
コメントを投稿