0

我正在使用 AsyncTask 获取数据以填充我的 listView。我正在更改列表视图的适配器onPostExecute()

protected void onPostExecute(ArrayList<JSONObject> result) {

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

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

    this.markersList.setAdapter(adapter);

然后我想对新视图进行一些更改,但是在程序从onPostExecute(). 我想强制 android 在onPostExecute(). 我已经尝试notifyDatasetChanged()过适配器和invalidate()列表视图,但都没有成功。

4

1 回答 1

0

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

首先将适配器设置为listView。

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

每当您需要刷新列表时,只需对 objList 进行更改并对 listView 调用 invalidate,如下所示:

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

它对我有用。

于 2013-03-21T11:42:10.730 回答