分页逻辑代码(中间始终显示9个页码)

 

/**
  * 获取总页码和画面页码信息设置
  *
  * @param sumCount
  */
 public void pageCut(int sumCount)
 {
  // 获取总页数
  if (sumCount % pageSize == 0)
  {
   pageCount = sumCount / pageSize;
  }
  else
  {
   pageCount = sumCount / pageSize + 1;
  }

  // 画面显示页码集合
  intList = new ArrayList<Integer>();
  int pageNowTemp = pageNow;
  // 判断当前页码是不是最后9页,如果是最后5页中的其中一页,画面显示最后9页页码信息
  if(pageCount<=9)
  {
   for (int i = 0; i <pageCount ; i++)
   {
    intList.add(i+1);
   }
  }else
  {
   if(pageNowTemp+4>pageCount)
   {
    for (int i = pageCount-8; i <=pageCount; i++)
    {
     intList.add(i);
    }
   }else
   {
    if(pageNowTemp<=4)
    {
     for (int i = 1; i <=9; i++)
     {
      intList.add(i);
     }
    }else
    {
     for (int i = pageNowTemp-4; i <=pageNowTemp+4; i++)
     {
      intList.add(i);
     }
    }
   }
  }
 }

你可能感兴趣的:(分页逻辑代码(中间始终显示9个页码))