我试图在达到动态点(通过减去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
太棒了!很高兴我能帮上忙。 –