我试图通过将项目添加到GalleryView并在从AdapterdoInBackground方法内部调用的处理程序中执行以下操作来刷新带有新项目的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似乎响应上述代码,但不会自动刷新。仅在水平滚动时才更新项目。如何自动执行此操作?

最佳答案

UI线程需要涉及notifyDataChanged(),请尝试以下操作:

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

10-07 23:12