Guten Abend zusammen,
Ich habe in Java einen timer thread implementiert. Der Timer stellt sozusagen die Inhalte einer Progressbar bereit und erniedrigt diese.
Mit einem Button kann ich nun den thread beenden. (t.cancel()
Ich hätte es aber gerne, dass der Thread wieder zum Leben erweckt wird und von neuem Beginnt.
Ich hoffe, ihr versteht, was ich meine. Ich gebe euch mal einen Teil meines Codes.
[Java]
public final Timer t = new Timer();
public void methodeTimer() {
final ProgressBar progressBar = (ProgressBar) findViewById(R.id.progressBar);
progressBar.setMax(VariablederProgressbar);
t.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
runOnUiThread(new Runnable() {
public void run() {
if (VariablederProgressbar > 0) {
VariablederProgressbar = VariablederProgressbar - 1;
progressBar.setProgress(VariablederProgressbar);
} else if (VariablederProgressbar == 0) {
VariablederProgressbar = // Greife auf Methode zu, welche Zahlen liefert...
progressBar.setMax(VariablederProgressbar);
progressBar.setProgress(VariablederProgressbar);
//anderer Methodenaufruf...
t.cancel();
}
}
});
}
}, 1000, 1000);
}
[/code]
Der Thread funktioniert soweit und kann auch mein klicken auf den Button beendet werden.
Ich würde den thread nun gerne neu starten wollen.
Danke für eure Hilfe !
Ich habe in Java einen timer thread implementiert. Der Timer stellt sozusagen die Inhalte einer Progressbar bereit und erniedrigt diese.
Mit einem Button kann ich nun den thread beenden. (t.cancel()
Ich hätte es aber gerne, dass der Thread wieder zum Leben erweckt wird und von neuem Beginnt.
Ich hoffe, ihr versteht, was ich meine. Ich gebe euch mal einen Teil meines Codes.
[Java]
public final Timer t = new Timer();
public void methodeTimer() {
final ProgressBar progressBar = (ProgressBar) findViewById(R.id.progressBar);
progressBar.setMax(VariablederProgressbar);
t.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
runOnUiThread(new Runnable() {
public void run() {
if (VariablederProgressbar > 0) {
VariablederProgressbar = VariablederProgressbar - 1;
progressBar.setProgress(VariablederProgressbar);
} else if (VariablederProgressbar == 0) {
VariablederProgressbar = // Greife auf Methode zu, welche Zahlen liefert...
progressBar.setMax(VariablederProgressbar);
progressBar.setProgress(VariablederProgressbar);
//anderer Methodenaufruf...
t.cancel();
}
}
});
}
}, 1000, 1000);
}
[/code]
Der Thread funktioniert soweit und kann auch mein klicken auf den Button beendet werden.
Ich würde den thread nun gerne neu starten wollen.
Danke für eure Hilfe !