Cómo mostrar el temporizador en android

Quiero mostrar el temporizador en TextView en el formato de [19:59]. Así que cuando hago clic en el botón de inicio, el temporizador se mostrará así por ejemplo, quiero configurar hasta 20 mintues, se mostrará como [19 : 58] [19:87]. ¿Alguien puede dar algunas ideas o código de ejemplo? Introduzca aquí la descripción de la imagen

5 Solutions collect form web for “Cómo mostrar el temporizador en android”

package com.example.testproject; import java.util.Timer; import java.util.TimerTask; import android.os.Bundle; import android.widget.TextView; import android.app.Activity; public class MainActivity extends Activity { public int seconds = 60; public int minutes = 10; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //Declare the timer Timer t = new Timer(); //Set the schedule function and rate t.scheduleAtFixedRate(new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { TextView tv = (TextView) findViewById(R.id.main_timer_text); tv.setText(String.valueOf(minutes)+":"+String.valueOf(seconds)); seconds -= 1; if(seconds == 0) { tv.setText(String.valueOf(minutes)+":"+String.valueOf(seconds)); seconds=60; minutes=minutes-1; } } }); } }, 0, 1000); } } 

Puede utilizar CountDownTimer .

http://developer.android.com/reference/android/os/CountDownTimer.html

  TextView _tv = (TextView) findViewById( R.id.textView1 ); new CountDownTimer(20*60000, 1000) { public void onTick(long millisUntilFinished) { _tv.setText("seconds remaining: " +new SimpleDateFormat("mm:ss:SS").format(new Date( millisUntilFinished))); } public void onFinish() { _tv.setText("done!"); } }.start(); 

Para cancelar la cancelación de llamada en el temporizador.

public final void cancel()

Cancelar la cuenta regresiva.

  //start button click CountDown timer = new CountDown(180000, 1000); timer.start(); //stop button click timer.stop(); //countdown class public class CountDown extends CountDownTimer { public CountDown(long millisInFuture, long countDownInterval) { super(millisInFuture, countDownInterval); } @Override public void onTick(long millisUntilFinished) { long ms = millisUntilFinished; String text = String.format("%02d\' %02d\"", TimeUnit.MILLISECONDS.toMinutes(ms) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(ms)), TimeUnit.MILLISECONDS.toSeconds(ms) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(ms))); textViewTimer.setText(text); } @Override public void onFinish() { textViewTimer.setText("ffinish"); } } 

Esto se puede hacer usando cronometer , la razón más importante es el apoyo a API 1+ , que es bastante impresionante en lugar de TextClock , que admite API 17 + .

Usted puede hacer muchas otras cosas con cronometer. Por ejemplo , puede establecer la hora de inicio en ella

Chronometer.setBase (SystemClock.elapsedRealtime ());

También puede aprender más sobre esto aquí.

Aquí tengo la clase del temporizador del uso para exhibir el contador de tiempo

  public class FourthActivity extends AppCompatActivity { Button startButton, pauseButton; TextView timerValue; Timer timer; int seconds = 0, minutes = 0, hour = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_fourth); bindView(); timer = new Timer(); startButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { timer.scheduleAtFixedRate(new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { if (seconds == 60) { timerValue.setText(String.format("%02d", hour) + ":" + String.format("%02d", minutes) + ":" + String.format("%02d", seconds)); minutes = seconds / 60; seconds = seconds % 60; hour = minutes / 60; } seconds += 1; timerValue.setText(String.format("%02d", hour) + ":" + String.format("%02d", minutes) + ":" + String.format("%02d", seconds)); } }); } }, 0, 1000); } }); } private void bindView() { timerValue = (TextView) findViewById(R.id.timerValue); startButton = (Button) findViewById(R.id.startButton); } } 

En el diseño, hay un TextView y un botón para iniciar el temporizador. Tengo uso del método de clase del temporizador scheduleAtFixedRate . El tiempo se mostrará en formato hh: mm: ss.

  • Android CountDownTimer - last onTick no llamado - ¿qué solución limpia para usar?
  • Temporizador de cuenta atrás Android La barra de progreso circular no coincide con el temporizador
  • Temporizador Android actualizando una vista de texto (UI)
  • Inicie el temporizador al hacer clic en el botón
  • Cómo detener el temporizador handler.postDelayed () en Android
  • Cambiar horario scheduleAtFixedRate
  • Cómo determinar si la tarea del temporizador ha finalizado
  • Pausa CountDownTimer en Android cuando la actividad no está en frente
  • Lanzar null pointerException en Timer.Schedule ();
  • ¿Cómo comprobar si un temporizador todavía está funcionando o no?
  • Android / phonegap - Tiempo de respuesta del clic lento
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.