Ich möchte Countdown-Timer erstellen, die von 5 Sekunden beginnen und durch Drücken einer Taste die aktuelle Zeit um 3 Sekunden erhöhen. Ich habe einen Handler verwendet, um den Countdown-Timer zu verarbeiten. Ich weiß, dass wir CountdownTimer nicht verwenden können. Hier ist mein Code:hinzufügen 3 Sekunden zu Handler
Handler handler = new Handler();
int delay = 1000;
r = new Runnable() {
@Override
public void run() {
int timeOut = finalTime - 1;
String printedTime = Integer.toString(timeOut);
timer.setText(printedTime);
handler.postDelayed(this,delay);
};
I aktualisiert, ist hier der richtige Code auf einfache Art und Weise:
timer = (TextView) findViewById(R.id.timer);
addSecs = (Button) findViewById(R.id.addSecs);
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
currentTime = timer.getText().toString();
time = Integer.parseInt(currentTime);
time-=1;
updateTime = Integer.toString(time);
timer.setText(updateTime);
handler.postDelayed(this,1000);
}
},1000);
addSecs.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
currentTime = timer.getText().toString();
time = Integer.parseInt(currentTime);
time+=3;
updateTime = Integer.toString(time);
timer.setText(updateTime);
}
});
verwenden möchten, ich gehe davon aus 'timeOut' und' finalTime' sind in Sekunden? Erhöhen Sie einfach die 'finalTime + = 3' auf Ihrem Button' onClick (View v) 'Event – Carpetfizz
@Carpetfizz Ja, sie sind in Sekunden und brilliant. Das habe ich bei onClick vermisst. Danke Alooooot ... – rexo