notifyDataSetChanged()不刷新我的视图

时间:2012-03-08 20:56:24

标签: android android-asynctask

我在AsyncTask中这样做,一切正常,但我的视图没有直接刷新,

但如果我只是在我的listView上滚动一点,那么数据就会被刷新

 ArrayList<Project> listProject =  taskLiteApplication.getListProjectWithStatus(Integer.parseInt(status[0]));


            //set adapter
            projectBaseAdapter.replaceData(listProject);

            //display projects on screen
            projectBaseAdapter.notifyDataSetChanged();

我尝试在listView上调用refreshDrawableState(),但它也不能正常工作 和invalidate()也是

1 个答案:

答案 0 :(得分:2)

AsyncTask的任何UI更新都应该在AsyncTask类的onPreExecuteonPostExecute方法中完成。

因此,在您的情况下,在AsyncTask完成后,您需要更新UI。因此,您应该覆盖AsyncTask的onPostExecute方法,并在该方法中调用projectBaseAdapter.notifyDataSetChanged();