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

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.

  • Cómo detener un temporizador después de cierto número de veces
  • Android: para medir el tiempo entre los dos clics de botón
  • Enviar notificación una vez por semana
  • ¿Hay una manera de encontrar los temporizadores de ejecución en java?
  • ¿Cómo cambiar el retraso del hilo de sueño / temporizador en android durante el tiempo de ejecución?
  • Fiabilidad del método postDelay de Android
  • Cómo detener el temporizador handler.postDelayed () en Android
  • Android relanzando temporizadores después de que se cancelen
  • Equivalente a javax.swing.Timer en Android
  • ¿Cómo agregar tiempo al temporizador de cuenta atrás?
  • ¿Cómo puedo cancelar desde Device.StartTimer?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.