2016-04-20 6 views
0

私はこのfor-loopから構築しようとしている文字列が1文字しか返さない理由を理解できません。私は '0'にマッチするすべての文字に対して4つの文字列を繰り返しますが、ロジックは1回だけ発生します。私は何が欠けていますか?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

関連する問題