我在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()也是
答案 0 :(得分:2)
AsyncTask的任何UI更新都应该在AsyncTask类的onPreExecute
和onPostExecute
方法中完成。
因此,在您的情况下,在AsyncTask完成后,您需要更新UI。因此,您应该覆盖AsyncTask的onPostExecute
方法,并在该方法中调用projectBaseAdapter.notifyDataSetChanged();