如何阻止seekBar移动到动态点

时间:2016-11-11 15:36:34

标签: android seekbar

我试图阻止某个seekBar到达动态点后的移动(通过减去setMax()值和其他seekBar.getProgress()来计算)。 我尝试使用onTouchEvent(),但无法停止栏的移动并手动设置seekBar.setProgress()但它只跳到那一点并继续用手指移动。

{{1}}

请帮助

2 个答案:

答案 0 :(得分:4)

你有

if (progress >= Integer.parseInt(et.getText().toString()) - sb2.getProgress() - sb3.getProgress())
    sb1.setProgress(progress);

sb1更改侦听器中。但这并不合理,因为progress已经是sb1的进展。我想你应该改变这个:

sb1.setProgress(progress);

要:

sb1.setProgress(Integer.parseInt(et.getText().toString()) - sb2.getProgress() - sb3.getProgress());

我获得的进展值来自if条件。基本上,当进度大于该值时,您只需将其设置为该值。所以这样,就不能拖过那一点了。

同样为你的其他听众做同样的事情。

答案 1 :(得分:0)

达到所需进度后禁用搜索栏对象:

sb1.setEnable (false)