Ich entwickle eine Android-App, in der ich die verbleibende Zeit zeigen muss, in der ein Benutzer eine bestimmte Aufgabe, die ein Countdown-Timer ist, abschließen kann. Wenn der Benutzer die festgelegte Zeit überschreitet, sollte der Timer beginnen, hochzuzählen oder ein Chronometer zu werden. Also, ich muss beide in der gleichen Komponente verwenden. Eine setCountdown-Methode wurde in API 24 auf Chronometer hinzugefügt, kann aber nicht verwendet werden. Kann jemand bitte eine Bibliotheksreferenz oder irgendeinen Code zur Verfügung stellen, in dem ich einen Weg finden kann, meinen Anwendungsfall zu implementieren.Mit Timer und Countdown-Timer in Android-App
1
A
Antwort
1
Sie können AsyncTask für diesen Zweck und Feuer Sendung verwenden, wenn die Zeit decreases..i Beispiel bin Entsendung hier:
/*******************
* asyncTask for timer
********************/
public class MyTimer extends AsyncTask<String, String, String> {
private AsyncTimer asyncTimer;
private Context context;
public MyTimer(Context context) {
asyncTimer = (AsyncTimer) context;
this.context = context;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
asyncTimer.updateUi(false); //updates UI
}
@Override
protected void onPostExecute(String s) {
asyncTimer.updateUi(true);
}
@Override
protected void onProgressUpdate(String... values) {
super.onProgressUpdate(values);
int time = Integer.parseInt(values[0]);
Intent i = new Intent(Constants.BROADCAST_TIMER_KEY);
i.putExtra(Constants.INTENT_BROADCAST_TIME, time);
context.sendBroadcast(i);
}
@Override
protected String doInBackground(String... params) {
long i = Integer.parseInt(params[0]);
while (i >= 0) {
publishProgress(String.valueOf(i));
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
i = i - 1;
}
return null;
}
}
Sendezeit zu ändern, wo TimeSet ist meine Schnittstelle den Wert auf UI zu ändern
public class BroadcastTimer extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
TimeSet timeSet = (TimeSet) context;
int time = intent.getExtras().getInt(Constants.INTENT_BROADCAST_TIME);
int min = (time)/60;
int sec = time % 60;
timeSet.FinalResult(min + context.getString(R.string.str_mins) + sec + context.getString(R.string.str_secs));
}
}
Verwandte Themen
- 1. Stoppen und starten Sie CountDownTimer
- 2. CountDownTimer-Dienst
- 3. Android CountDownTimer
- 4. Mocking CountDownTimer und Handler
- 5. Abbrechen CountDownTimer Android Java
- 6. Android CountDownTimer wird nicht abbrechen
- 7. Konstruktor CountDownTimer in Klasse CountDownTimer kann nicht auf bestimmte Typen
- 8. Mit Timer und Spielschleife
- 9. HH: MM: SS-Format Android Studio CountdownTimer
- 10. Timer stoppt nicht in android
- 11. Android Countdown Timer Circular Fortschrittsbalken passt nicht mit Timer
- 12. Anhalten/Fortsetzen CountDownTimer Android
- 13. Android Editierbare CountDownTimer Problem
- 14. CountDownTimer onfinish Methode nach Änderung Aktivität
- 15. Wie pausieren und fortsetzen Timer und Fortschrittsbalken in Android?
- 16. prüft CountDownTimer läuft
- 17. Countdown-Timer
- 18. Ich möchte einen Countdown-Timer erstellen und sobald der Timer beendet möchte ich eine andere Countdown-Timer
- 19. Timer und JSlider mit Bildern
- 20. Timer mit Vorsatz Extras
- 21. ListView mit Coundown-Timer. Timer flackert beim Scrollen der Listenansicht
- 22. Wie CountDownTimer in meiner Android-Anwendung zu verwenden?
- 23. OnClick-Methode wird nicht mein CountDownTimer starten - warum?
- 24. Java gesetzt Timer anhalten und zurücksetzen Timer
- 25. Android: Fortschrittsbalken über CountDownTimer aktualisieren
- 26. Wie implementiert CountDownTimer-Klasse in Xamarin C# Android?
- 27. (NSTimer) Erstellen eines Timer-Countdowns
- 28. Timer und javafx
- 29. Alarmmanager vs Handler/Timer mit langen Timer
- 30. Momentjs und Countdown-Timer