Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo detener / cancelar android CountdownTimer

Estoy extendiendo la clase CountDownTimer para obtener alguna funcionalidad personalizada. En onTick () en caso de que se cumplan algunas condiciones llamo cancel (), esperando que sea el final de ella, sin embargo la devolución de llamada onTick () obtiene llamada hasta que el recuento Abajo. Entonces, ¿cómo evitar que esto suceda?

  • API de datos de Youtube: Obtenga acceso al flujo multimedia ya la reproducción (JAVA)
  • El método setDrawerListener está obsoleto
  • ¿Cómo saber si mi aplicación está desinstalada del dispositivo ...?
  • Uso de zxing Barcode Scanner dentro de una página web
  • ¿Qué fuentes están disponibles en Android?
  • Handler vs AsyncTask
  • Cómo utilizar viewGroup en android
  • App-release-unsigned.apk no está firmado
  • 3 Solutions collect form web for “Cómo detener / cancelar android CountdownTimer”

    El método CountDownTimer.cancel () parece no estar funcionando. Aquí hay otro hilo sin una solución El temporizador no se detiene en android .

    Yo recomendaría que utilice Timer en su lugar. Es mucho más flexible y se puede cancelar en cualquier momento. Puede ser algo así:

    public class MainActivity extends Activity { TextView mTextField; long elapsed; final static long INTERVAL=1000; final static long TIMEOUT=5000; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mTextField=(TextView)findViewById(R.id.textview1); TimerTask task=new TimerTask(){ @Override public void run() { elapsed+=INTERVAL; if(elapsed>=TIMEOUT){ this.cancel(); displayText("finished"); return; } //if(some other conditions) // this.cancel(); displayText("seconds elapsed: " + elapsed / 1000); } }; Timer timer = new Timer(); timer.scheduleAtFixedRate(task, INTERVAL, INTERVAL); } private void displayText(final String text){ this.runOnUiThread(new Runnable(){ @Override public void run() { mTextField.setText(text); }}); } } 

    CountDownTimer también está funcionando bien para mí, pero creo que sólo funciona si lo llaman fuera de la implementación CountDownTimer (que es no lo llaman en el onTick).

    Llamarlo dentro tampoco funcionó.

    He intentado este fragmento de código, ya que la mayoría de las respuestas están diciendo que no se puede cancelar el temporizador dentro de su aplicación, por lo que he intentado utilizar un controlador dentro de fin. Old post pero si alguien viene a través de este es útil.

     new Handler().post(new Runnable() { @Override public void run() { timerTextView.setText("00:" + String.format("%02d", counter)); cancel(); } }); 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.