Mein Timer hört nicht auf zu laufen, wenn ich es annulliere! Der Timer stoppt nur, wenn ich die ganze App herunterfahre!Timer wird nicht von timer.cancel() abgebrochen
Ich weiß nicht, warum der Timer nicht abgebrochen wird. Wenn ich jeden Versuch auschecke, den Timer zu löschen, bekomme ich Hunderte Zeilen, aber der Timer hört nicht auf!
Meine Klasse:
public class PlayActivity extends AppCompatActivity
implements View.OnClickListener, SeekBar.OnSeekBarChangeListener, MediaplayerEvent {
//region Activity
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Initialize_Layout();
Initialize_Objects();
}
@Override
protected void onResume() {
super.onResume();
MusicService.setMediaPlayerEvent(this);
txvSongtitle.setText(serviceInterface.MP_getActualSong().getTitle());
Start_Timer();
}
@Override
protected void onPause() {
timer.cancel();
MusicService.clearMediaPlayerEvent();
super.onPause();
}
@Override
public boolean onSupportNavigateUp() {
finish();
return super.onSupportNavigateUp();
}
//endregion
//region Methods
private void Start_Timer() {
timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
if (serviceInterface.MP_isPlaying()) {
runOnUiThread(new Runnable() {
@Override
public void run() {
seekBar.setMax(serviceInterface.MP_getDuration());
seekBar.setProgress(serviceInterface.MP_getCurrentPosition());
}
});
}
else {
runOnUiThread(new Runnable() {
@Override
public void run() {
timer.cancel();
}
});
}
}
}, 0, 200);
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if (fromUser) {
serviceInterface.MP_seekTo(progress);
Start_Timer();
}
}
//endregion
}
Ich hoffe, dass Sie mir helfen können! Danke!
ok danke, aber warum funktioniert es nicht mit dem Timer? und weiß, ich weiß, warum ich Threads verwenden sollte :) –
Es war, wie die andere Antwort sagte - Sie erstellt einen neuen Timer jedes Mal, wenn Sie den Fortschrittsbalken aktualisiert, der Ihre Probleme verursacht hat. Froh, dass es behoben ist :) – privatestaticint
okey ja, das ist toll :) –