@Override public synchronized boolean getNewItemsFromServer( Progress progress, PullToRefreshBase<?> refreshView, TaskHost priorityHost) { if (!isTaskCanExec(mBaseGetControllerDataTask)) { if (progress != null) { progress.finishProgress(); } if (progress == null && refreshView != null) { refreshView.onRefreshComplete(); } return false; } final Account tmp = getAccountAttached(); mBaseGetControllerDataTask = createGetDataTask(); mBaseGetControllerDataTask.setProgress(progress); mBaseGetControllerDataTask.setRefreshView(refreshView); mBaseGetControllerDataTask.setPriorityHost(priorityHost); mBaseGetControllerDataTask.setProcessNewItemsTaskHost( new ProcessNewItemsTaskHost<NotifyMessage>() { @Override public void onPostExecuteCacheChanged(List<NotifyMessage> list) { super.onPostExecuteCacheChanged(list); if (tmp != null) { getCache().deleteAll(); for (NotifyMessage notifyMsg : list) { notifyMsg.invalidate(); } asyncFlushCacheItem(list); getCache().clear(); if (!ListUtils.isEmpty(list)) { getCache().addAll(list); } cacheChanged(); } else { Log.w(getClass().getSimpleName(), ">>>#获取消息通知列表为空"); } markAllMessage(); } }); mBaseGetControllerDataTask.execute(); return true; }