【发布时间】:2014-12-19 12:25:27
【问题描述】:
我的活动中有以下 AsyncTask,它更新了填充我的 ListView 的 ArrayAdapter。它似乎工作正常,因为我在 onPostExecute 中调用 notifyDataSetChanged。
我的问题是,如果我在 runOnUIThread 中使用 onPostExecute 调用 notifyDataSetChanged,为什么它只更新列表视图?
我认为 onPostExecute 在 UIThread 上运行,所以我需要将它包装在 Runnable 中吗?
@Override
protected void onPostExecute(LoginWebservice.TwoDimentionalArrayList<String> result) {
super.onPostExecute(result);
if (progressDialog != null) {
progressDialog.dismiss();
}
listView = (ListView) findViewById(R.id.rotalist);
arrayAdapter = new MySimpleArrayAdapter(GetRota.this, array);
listView.setAdapter(arrayAdapter);
listView.setOnItemClickListener(GetRota.this);
runOnUiThread(new Runnable() {
public void run() {
arrayAdapter.notifyDataSetChanged();
}
});
}
【问题讨论】:
标签: android listview android-asynctask android-adapter