¿Cómo puedo configurar el formato del cronómetro Android en HH: MM: SS ??Android Cronómetro formato
Respuesta
primera propuesta - dejó sólo para la historia
Chronometer c;
...
c.setFormat("HH:MM:SS");
Edición - Esto no funciona en absoluto ! Lo siento por la respuesta demasiado rápido, no probado ... Aquí es algo que funciona:
Chronometer c;
...
c.setOnChronometerTickListener(new OnChronometerTickListener() {
public void onChronometerTick(Chronometer cArg) {
long t = SystemClock.elapsedRealtime() - cArg.getBase();
cArg.setText(DateFormat.format("kk:mm:ss", t));
}
});
Está agregando el desplazamiento de tiempo al tiempo formateado, ¿cómo puedo evitarlo? – dgngulcan
Parece que la gente que ha publicado las respuestas anteriores ni siquiera probar lo que sugirieron. Simplemente no funciona de la manera que lo describieron.
Consulte how to change format of chronometer? para obtener respuestas más apropiadas.
Gracias! Y tienes razón, la respuesta no había sido probada. Lo curioso es que fue aceptado ... –
Después de algunas pruebas, se me ocurrió este código. No está completamente probado, pero me puede proporcionar más información si
private void formatChronometerText(Chronometer c) {
int cTextSize = c.getText().length();
if (cTextSize == 5) {
breakingTime.setFormat("00:%s");
} else if (cTextSize == 7) {
breakingTime.setFormat("0%s");
} else if (cTextSize == 8) {
breakingTime.setFormat("%s");
}
}
me llama a este método en el método onCreate()
por ejemplo.
Chronometer c = ...
...
formatChronometerText(c);
c.setText("00:00:00");
Volveré en un día para verificar si funciona o si necesita ser llamado también después de que cambie el tamaño del texto. Si usted es una persona precavida le sugiero que lo haga en el mismo contexto con c.start()
y c.stop()
if(ticking){
c.stop();
formatChronometerText(c);
} else {
formatChronometerText(c);
c.start()
}
Esto funciona:
Chronometer chronometer;
chronometer.setOnChronometerTickListener(new OnChronometerTickListener() {
public void onChronometerTick(Chronometer c) {
int cTextSize = c.getText().length();
if (cTextSize == 5) {
chronometer.setText("00:"+c.getText().toString());
} else if (cTextSize == 7) {
chronometer.setText("0"+c.getText().toString());
}
}
});
encontrado una solución mejor, sin asignación de memoria para la cadena cada segundo :
c.setFormat("00:%s");
c.setOnChronometerTickListener(new OnChronometerTickListener() {
public void onChronometerTick(Chronometer c) {
long elapsedMillis = SystemClock.elapsedRealtime() -c.getBase();
if(elapsedMillis > 3600000L){
c.setFormat("0%s");
}else{
c.setFormat("00:%s");
}
}
});
- 1. cómo cambiar el formato del cronómetro?
- 2. Creando un cronómetro en Android
- 3. reprogramar el cronómetro en android
- 4. ¿Cronómetro cronómetro .Net y multinúcleo?
- 5. Mostrar milisegundos con el cronómetro Android
- 6. Android - Obtenga tiempo del widget del cronómetro
- 7. Android: cronómetro como un cronómetro persistente. Cómo establecer la hora de inicio? ¿Qué es el cronómetro "Base"?
- 8. Cronómetro de alto rendimiento frente a Cronómetro
- 9. lógica de cronómetro
- 10. Cronómetro eficiente
- 11. cronómetro JavaFX
- 12. ¿Cómo establecer el cronómetro Android base desde el objeto Date?
- 13. Cronómetro para silverlight?
- 14. Cronómetro en Python
- 15. Cronómetro de Visual C++
- 16. Cronómetro reiniciable Java
- 17. Reinicio del cronómetro
- 18. Comprobar si el cronómetro está funcionando
- 19. ¿Convertir formato PSD a Android XML (formato)?
- 20. defecto Ventana Android Formato
- 21. Clase de cronómetro para Java
- 22. .NET Cronómetro - penalización de rendimiento
- 23. Java: Cronómetro e hilo crea
- 24. ¿Está realmente roto el cronómetro?
- 25. Función de cronómetro en R
- 26. formato de número de Android
- 27. Android Time Class formato hora
- 28. Diferencias en ticks transcurridos propiedad del cronómetro
- 29. Cronómetro que cuenta regresivamente en C#
- 30. ¿Por qué mi cronómetro deja de funcionar?
posible duplicado de [cómo cambiar el formato del cronómetro?] (http://stackoverflow.com/questions/4152569/how-to-change-format-of-chronometer) –