protected String getCacheKey() {
   return new StringBuffer(getCacheKeyPrefix())
       .append(mCatalog)
       .append("_")
       .append(mCurrentPage)
       .append("_")
       .append(TDevice.getPageSize())
       .toString();
 }
 protected void executeOnLoadDataSuccess(List<?> data) {
   if (mState == STATE_REFRESH) {
     mAdapter.clear();
   }
   mAdapter.addData(data);
   mErrorLayout.setErrorType(EmptyLayout.HIDE_LAYOUT);
   if (data.size() == 0 && mState == STATE_REFRESH) {
     mErrorLayout.setErrorType(EmptyLayout.NODATA);
   } else if (data.size() < TDevice.getPageSize()) {
     if (mState == STATE_REFRESH) {
       mAdapter.setState(RecycleBaseAdapter.STATE_LESS_ONE_PAGE);
     } else mAdapter.setState(RecycleBaseAdapter.STATE_NO_MORE);
   } else {
     mAdapter.setState(RecycleBaseAdapter.STATE_LOAD_MORE);
   }
 }