Saltar al contenido
Codifíca.me | Desarrollo web | Programación

Cómo hacer un timer con countdown de android

7 diciembre, 2016

Cómo hacer un timer con countdown de android
Este ejemplo lanza la función hola() cada 1 segundo durante 10 segundos y finalmente la de fin(). Para hacerlo usa el android.os.CountDownTimer como timer.

Archivos

  • Timer_con_countdown.java
  • main.xml

Timer_con_countdown.java

 

package com.Timer_con_countdown;
 
import android.app.Activity;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.widget.TextView;
 
public class Timer_con_countdown extends Activity {
 Contador counter;
 TextView texto;
 
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.main);
 
 texto = (TextView) findViewById(R.id.txt);
 counter = new Contador(10000,1000);
 
 counter.start();
 }
 
 public void fin(){
 texto.setText(texto.getText() + "FIN");
 }
 
 
 public void hola(){
 texto.setText(texto.getText() + "Hola\n");
 }
 
 public class Contador extends CountDownTimer{
 
 public Contador(long millisInFuture, long countDownInterval) {
 super(millisInFuture, countDownInterval);
 }
 
 @Override
 public void onFinish() {
 fin();
 }
 
 @Override
 public void onTick(long millisUntilFinished) {
 hola();
 }
 
 }
}

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 >
<TextView 
android:id="@+id/txt"
 android:layout_width="fill_parent" 
 android:layout_height="wrap_content" 
 android:text=""
 />
</LinearLayout>

timer android