SeekBarを使用してCountDownTimerの速度を制御しようとしていますが、2つの問題で停止しています。1-シークバーの進行状況を変更してもDownTimerIntervalはリセットされません...ただし、変更するたびに進行状況の値を追加します。2-シークバーの進行状況が0に設定されているときにカウントダウンを停止したいのですが、機能しません。それを修正する方法は?
これが私のコードです
rolagem.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
rolagemAutomatica();
}
});
private void rolagemAutomatica() {
barra = (SeekBar)findViewById(R.exibir_musica.barraFonte);
barra.setVisibility(1);
barra.setMax(4);
barra.setProgress(0);
barra.setOnSeekBarChangeListener( new SeekBar.OnSeekBarChangeListener() {
public void onStopTrackingTouch(SeekBar seekBar) {
}
public void onStartTrackingTouch(SeekBar seekBar) {
}
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
String[] VR = {"0","10","50","75","100"};
//Define crono +1 cause position 0 crash the app
int crono = Integer.parseInt(VR[progress]+1);
CountDownTimer test = new CountDownTimer(400000 , crono) {
@Override
public void onTick(long millisUntilFinished) {
scroll_letra.smoothScrollBy(0,
(int) (millisUntilFinished / 300000));
}
@Override
public void onFinish() {
// TODO Auto-generated method stub
}
};
if(crono-1 != 0){
test.start();
}else{
test.cancel();
}
}
});
}