@Override
 protected void onProgressUpdate(List<RecoreSportsCategory>... values) {
   super.onProgressUpdate(values);
   if (!isCancelled() && values != null) {
     mRecordAdapter.addAll(values[0]);
   }
 }
 @Override
 protected Integer doInBackground(Integer... params) {
   int limitstart = params[0];
   if (limitstart != mRecordAdapter.getmLastLoadRecordIndex()) return RESULT_ERROR;
   ApplicationDao applicationDao =
       (ApplicationDao) GOApplication.getDaoManager().getManager(Dao.ApplicationDao);
   UserDBData user = applicationDao.getUser();
   if (user != null) {
     try { // add index first
       mRecordAdapter.setmLastLoadRecordIndex(
           mRecordAdapter.getmLastLoadRecordIndex() + Config.LIMIT_SIZE_LOAD_RECORD_SPORTS);
       return loaddata(getActivity(), user.getUserid(), limitstart);
     } catch (Throwable e) {
     }
   }
   return RESULT_FAIL;
 }
 ////////////////////////////////////////////////////////////
 // for load data form database
 private synchronized void checkLoadRecordSportsData(RecordAdapter recordAdapter) {
   if (mLoadRecordSportData == null
       || mLoadRecordSportData.isCancelled()
       || mLoadRecordSportData.getStatus() == AsyncTask.Status.FINISHED) {
     mLoadRecordSportData = new LoadRecordSportData(recordAdapter);
     mLoadRecordSportData.execute(recordAdapter.getmLastLoadRecordIndex());
   }
 }