Android 如何在onPostExecute()中重画视图

Android 如何在onPostExecute()中重画视图,android,android-listview,android-asynctask,Android,Android Listview,Android Asynctask,我正在使用AsyncTask获取数据以填充我的listView。我正在onPostExecute()中更改listview的适配器 受保护的void onPostExecute(ArrayList结果){ MarkersListAdapter=(MarkersListAdapter)this.markersList.getAdapter(); 适配器。清除(); adapter.addAll(结果); this.markersList.setAdapter(适配器); 然后我想对新视图进行一些

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

受保护的void onPostExecute(ArrayList结果){
MarkersListAdapter=(MarkersListAdapter)this.markersList.getAdapter();
适配器。清除();
adapter.addAll(结果);
this.markersList.setAdapter(适配器);

然后我想对新视图进行一些更改,但在程序从
onPostExecute()
返回后,ListView会被新视图填充。我想强制android在
onPostExecute()
中填充我的ListView。我已经尝试了
notifyDatasetChanged()
适配器和
invalidate()
用于listview,但没有起作用。

我成功地修改了列表并使listview无效

listView.setAdapter(new MyListAdapter(getActivity(), R.layout.list_cell_layout, objList));
首先将适配器设置为listView

listView.setAdapter(new MyListAdapter(getActivity(), R.layout.list_cell_layout, objList));
每当需要刷新列表时,只需对objList进行更改,并调用invalidate以使列表视图无效,如下所示:

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

它对我有效。

什么样的更改..为什么不发布您尝试过的内容..项目图形中的更改取决于一些其他数据。我认为此代码与案例无关。我使用
getChildAt(I)
检索视图。实际上,它对我无效。什么都没有发生。
getChildAt(I)
返回null。在
onPostExecute()结束后,只需执行几个调试器步骤,视图就会显示。
在创建ListAdapter时是否添加了非null列表?否。我这样初始化它:
ArrayList结果=new ArrayList();MarkersListAdapter=new MarkersListAdapter(getActivity(),R.layout.cito_select_markers_row,result);markersList.setAdapter(adapter);
Ok,执行数组列表objList全局。在onPostExecute中,执行
objList.addAll(result);markersList.invalidateViews();