我試圖在達到動態點(通過減去setMax()值和其他seekBar.getProgress())計算得到的某個seekBar後停止移動。 我嘗試使用onTouchEvent(),但無法停止欄的移動並手動設置seekBar.setProgress(),但它只跳轉到該點並繼續用手指移動。如何停止seekBar過去動態點的移動
sb1.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
sb1.setMax(Integer.parseInt(et.getText().toString()));
if (progress >= Integer.parseInt(et.getText().toString()) - sb2.getProgress() - sb3.getProgress())
sb1.setProgress(progress);
tv1.setText(String.valueOf(progress));
}
});
sb2.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
sb2.setMax(Integer.parseInt(et.getText().toString()));
if (progress >= Integer.parseInt(et.getText().toString()) - sb1.getProgress() - sb3.getProgress())
sb2.setProgress(progress);
tv2.setText(String.valueOf(progress));
}
});
請幫助
謝謝!有了這個答案,我設法阻止了拇指條的移動(雖然進展仍在進行,但我可以找到解決方法)。 – ProBul
太棒了!很高興我能幫上忙。 –