1

GalleryViewにアイテムを追加し、のメソッドAdapter内から呼び出されるハンドラー内で次のことを行うことにより、新しいアイテムでを更新しようとしています。doInBackgroundAsyncTask

private final Handler handler = new Handler() {
    public void handleMessage(Message msg) {
        if(msg.arg1 == 1){

            gaAdapter.notifyDataSetChanged();
            ga.setAdapter(gaAdapter);
            ga.setSelection(midposition);
        }
    }   
};

は上記GalleryViewのコードに応答しているように見えますが、自動的に更新されません。横スクロール時のみ項目が更新されます。どうすればこれを自動的に行うことができますか?

4

2 に答える 2

1

notifyDataChanged() は UI スレッドに関与する必要があります。これを試してください。

runOnUiThread(new Runnable() {
  public void run() {
    gaAdapter.add(newListItem);
    gaAdapter.notifyDataSetChanged();
    ga.setSelection(midposition);
  }
});
于 2011-11-16T02:32:26.383 に答える
0

使ってみて
ga.invalidate()

于 2011-11-16T01:18:58.880 に答える