2016-04-20 14 views
0

Ich habe Probleme zu verstehen, warum die Zeichenfolge, die ich aus dieser for-Schleife erstellen möchte, nur ein Zeichen zurückgibt. Ich habe eine 4-stellige Zeichenfolge, die ich für alle Zeichen durchlaufen habe, die mit '0' übereinstimmen, aber die Logik tritt nur einmal auf. Was vermisse ich?Verwenden von StringBuilder zum Erstellen einer Zeichenfolge aus extrahierten Zeichen

private void updateDurationColor(SpinClassMovement movement){ 

     String duration = (String) TextFormatUtil.getFormattedTimeInMinutesAndSeconds(movement.getMovementLengthInMinutes() + movement.getMovementLengthInSeconds()); 

     for(int i = 0; i < duration.length(); i++){ 

      if (duration.charAt(i) == '0'){ 

       Character zero = duration.charAt(i); 
       StringBuilder colorDuration = new StringBuilder(zero); 
       colorDuration.append(zero); 

       setColor(mTimeRemaining,duration,colorDuration,Color.GRAY); 
      } 
     } 
    } 

Antwort

1

Ich denke, es ist, weil Ihr „colorDuration“ innerhalb der Schleife initialisiert wird. Versuche dies.

private void updateDurationColor(SpinClassMovement movement){ 

     String duration = (String) TextFormatUtil.getFormattedTimeInMinutesAndSeconds(movement.getMovementLengthInMinutes() + movement.getMovementLengthInSeconds()); 
     StringBuilder colorDuration = new StringBuilder(); 

     for(int i = 0; i < duration.length(); i++){ 

      if (duration.charAt(i) == '0'){ 

       Character zero = duration.charAt(i); 
       colorDuration.append(zero); 

       setColor(mTimeRemaining,duration,colorDuration,Color.GRAY); 
      } 
     } 
    } 
+0

Ja, total übersehen, dass! Vielen Dank! – TonyKazanjian

Verwandte Themen