如何从doInBackground调用的处理程序中自动刷新GalleryView?

时间:2011-11-15 23:29:07

标签: android handler galleryview

我正在尝试通过将项添加到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

{{1}}似乎响应上面的代码,但不会自动刷新自己。仅在水平滚动时才更新项目。我该如何自动完成?

2 个答案:

答案 0 :(得分:1)

notifyDataChanged()需要涉及UI线程,试试这个:

runOnUiThread(new Runnable() {
  public void run() {
    gaAdapter.add(newListItem);
    gaAdapter.notifyDataSetChanged();
    ga.setSelection(midposition);
  }
});

答案 1 :(得分:0)

尝试使用
    ga.invalidate()