如何在onPostExecute()中重绘视图

时间:2013-03-21 11:06:13

标签: android android-listview android-asynctask

我使用AsyncTask获取数据以填充我的listView。我在onPostExecute()

中更改了listview的适配器
protected void onPostExecute(ArrayList<JSONObject> result) {

    MarkersListAdapter adapter = (MarkersListAdapter) this.markersList.getAdapter();

    adapter.clear();
    adapter.addAll(result);

    this.markersList.setAdapter(adapter);

然后我想对新视图进行一些更改,但在从onPostExecute()返回程序后,ListView会填充新视图。我希望在onPostExecute()时强制android填充我的列表视图。我已尝试notifyDatasetChanged()用于适配器,invalidate()用于列表视图,但没有用。

1 个答案:

答案 0 :(得分:0)

我设法修改列表并使listView无效。

首先将适配器设置为listView。

listView.setAdapter(new MyListAdapter(getActivity(), R.layout.list_cell_layout, objList));

每当你需要刷新列表时,只需更改objList并调用invalidView到listView,如下所示:

objList.remove(1);
listView.invalidateViews();

它对我有用。