1

我正在尝试GalleryView通过将项目添加到Adapter并在处理程序中执行以下doInBackground操作来刷新新项目,该处理程序从AsyncTask.

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 回答