Ich versuche, die Bewegung einer bestimmten seekBar zu stoppen, nachdem sie einen dynamischen Punkt erreicht hat (berechnet durch Subtraktion des Wertes setMax() und anderen seekBar.getProgress()). Ich habe versucht, das onTouchEvent() zu verwenden, aber konnte die Bewegung des Taktes nicht stoppen und manuell seekBar.setProgress() einstellen, aber es springt nur zu diesem Punkt und setzt fort, sich mit dem Finger zu bewegen.Wie man die Bewegung von seekBar nach einem dynamischen Punkt stoppt
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));
}
});
bitte helfen
Vielen Dank! Mit dieser Antwort habe ich es geschafft, die Bewegung der Daumenleiste zu stoppen (obwohl sich der Fortschritt noch fortsetzt, aber ich kann einen Weg finden, um es zu umgehen). – ProBul
Großartig! Froh, dass ich helfen konnte. –