Umbrechen einer ArrayList

Ich bin versucht, zu erstellen eine einfache Paginierung routine für Werte statt in einem ArrayList. Im Grunde, was ich tun wollen ist machen Sie den ersten fünf Elemente in der ArrayList auf Anhieb. Und dann, wenn Benutzer klicken Sie auf Next (increment by another 5) und Previous (decrease by 5).

Meine Logik sieht so aus:

class foo
{
   private static final int defaultStep = 5;
   private int moveCounter;
   private List<String> values;

   public foo()
   {
     values = new ArrayList<String>();
     values.add("Fiber Channel");
     values.add("Copper Channel");
     ...
   }

  private void pageNext()
  {
   if (moveCounter > -1 && moveCounter < values.size())
   {
    int currentIndex = (moveCounter + 1);
    renderValues(currentIndex, false);
   }
  }

  private void pagePrevious()
  {
   if (moveCounter > -1 && moveCounter <= values.size())
   {
    renderValues(moveCounter-1, true);
   }
  }

 private void renderValues(int startIndex, boolean isPreviousCall)
 {
  if (startIndex > -1)
  {
   StringBuilder html = new StringBuilder();
   List<String> valuesToRender = new ArrayList<String>();
   int checkSteps = 1;
   while (startIndex < values.size())
   {
     valuesToRender.add(values.get(startIndex));
     if (checkSteps == defaultStep) break;
     startIndex++;
     checkSteps++;
   }
   moveCounter = startIndex;

   //TODO: Build html String
   ...
   }
 }
}

Ich habe ein Problem mit pagePrevious nennen, könnt Ihr mir helfen, die valuesToRender 5-Schritte bis values array vor dem hinzufügen des Werts zu machen, um die valuesToRender array.

Ich habe versucht, etwas zu tun, wie auch dieses:

  for (int start = startIndex, end = values.size() - 1; start < end; start++, end--)
  {
    if (isPreviousCall) valuesToRender.add(values.get(end));
    else valuesToRender.add(values.get(start));

    if (checkSteps == defaultStep) break;
    checkSteps++;
  }

Aber das scheint nicht zu funktionieren, weder noch. Können Sie Kerle Stelle und mir helfen, dieses Problem zu beheben.
Danke Jungs.

InformationsquelleAutor Bitmap | 2012-04-25
Schreibe einen Kommentar