2017-11-27 10 views
-2

私はこのコードを持っています。最初のシークバーが2番目のシークバーと同じ値を持っているかどうかを確認するには?およびその逆。両方とも同じ値である2つのシークバーが同じ値を持っているかどうかをチェックする方法

seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { 
     int progressChangedValue1 = 0; 

     public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 
      progressChangedValue1 = progress; 
     } 

     public void onStartTrackingTouch(SeekBar seekBar) { 
      // TODO Auto-generated method stub 
     } 

     public void onStopTrackingTouch(SeekBar seekBar) { 
     textView.setText(String.valueOf(progressChangedValue1)); 
     } 
    }); 

    seekBar2.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { 
     int progressChangedValue2 = 0; 

     public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 
      progressChangedValue2 = progress; 

     } 

     public void onStartTrackingTouch(SeekBar seekBar) { 
      // TODO Auto-generated method stub 
     } 

     public void onStopTrackingTouch(SeekBar seekBar) { 
      textView2.setText(String.valueOf(progressChangedValue2)); 

     } 
    }); 

答えて

0

メソッドはonProgressChanged呼び出し、そのメソッドseekbarMatches(one,two);の両方になりまし

// return true when two seekbars progress are equal 
boolean seekbarMatches(SeekBar one, SeekBar two){ 
    return one.getProgress() == two.getProgress(); 
} 

を言うと、ボタンの上だけであなたにぴったりかなロジックを全て行うことができます持っている場合、私はそれを変更した場合は、すべての時間を確認しますそのメソッドを呼び出すをクリックします。冗長な変数を持たせることで複雑さを増すことはありません。seekbarにはgetProgress()があり、現在シークバーの正確な位置を教えてくれます。

+0

素晴らしいです! –

関連する問題