Ich möchte etwas tun, ich bin mir nicht sicher, kann getan werden, und bis jetzt habe ich keine gute Antworten auf meine Frage gefunden.Neustart Runnable Variablen Android
Hier ist meine Situation:
- ich Timer
als Handler
implementiert haben, die Runnable
hat, die sich alle 1s ruft.
- Ich muss jetzt eine Methode wie Timer.restart()
implementieren, die meine Runnable's
Parameter neu starten kann.
Hier ist mein Code, damit Sie es sehen können, und besser zu verstehen, was ich
private Runnable rStartCPRTick = new Runnable() {
public int seconds = 0;
public int minutes = 0;
public int hours = 0;
@Override
public void run() {
if(++seconds%60 == 0) //increases the time by one second
if(++minutes%60 == 0)
hours++;
mActivity.updateCPRTime(formatHHMMSS(hours,minutes,seconds));
mStartCodeHandler.postDelayed(this,1000); // tick again in 1s
}
public void restartCPRTick(){
seconds = 0;
minutes = 0;
hours = 0;
}
};
Mein runnable zu erreichen versucht haben, ich will resetCPRTick()
von außen Runnable
anrufen können, und rufen Sie dann laufen das beginnt am Anfang.
Ist so etwas möglich?
Danke !!
Ja, aber wie Sie sehen können, ist es eine anonyme Klasse, aber ich denke, ich kenne eine Lösung. Ich werde meine eigene Unterklasse von Runnable erstellen, die eine Methode namens restart() hat, so dass jede Klasse, die diese Klasse implementiert, diese Methode überschreiben muss. : D –
Dann mach es mittags anonym. Es gibt keinen Grund, dass eine Klasse alle anonym sein muss. –
Ja, aber dann werde ich mehr Klassen haben, so wie ich es gemacht habe, Subclassing erfordert nur 1, und das ist meine Art zu programmieren, also mag ich es jetzt irgendwie. –