2016-04-20 5 views
0

У меня возникли проблемы с пониманием того, почему строка, которую я пытаюсь построить из этого цикла for, возвращает только один символ. У меня есть строка из 4 символов, которую я прокручиваю для всех символов, которые соответствуют «0», но логика возникает только один раз. Что мне не хватает?Использование StringBuilder для построения строки из извлеченных символов

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); 
      } 
     } 
    } 

ответ

1

Я думаю, это потому, что вы инициализируете «colorDuration» внутри цикла. Попробуй это.

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

Да, полностью игнорируется это! Благодаря! – TonyKazanjian

Смежные вопросы