2011-12-30 14 views
11

Me gustaría saber cómo puedo implementar en Android un cronómetro simple con un botón de inicio y parada que muestra datos en el formato HH: MM: SS: MsMs ... He estado buscando y buscando y encontré algunas clases en Google developer, pero no dieron ejemplos y me perdí ... ¿Podrían dirigirme a un tutorial/ejemplo? Estoy empezando en Android :) Cualquier ayuda sería muy apreciada.Creando un cronómetro en Android

Respuesta

14

Simplemente implemente el cronómetro en XML o Code y use su método start() para iniciarlo y su método stop() para detenerlo.

más se puede encontrar aquí: http://developer.android.com/reference/android/widget/Chronometer.html

XML:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <Chronometer 
     android:id="@+id/chronometer1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Start" 
     android:onClick="startChronometer"/> 

    <Button 
     android:id="@+id/button2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Stop" 
     android:onClick="stopChronometer"/> 

</LinearLayout> 

Java:

public class Main extends FragmentActivity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.test); 
    } 

    public void startChronometer(View view) { 
     ((Chronometer) findViewById(R.id.chronometer1)).start(); 
    } 

    public void stopChronometer(View view) { 
     ((Chronometer) findViewById(R.id.chronometer1)).stop(); 
    } 
} 

Es posible añadir un poco de código al método startChronometer() para reiniciar el contador.

+0

Tengo más diseños (XML) con los que quiero usar el cronómetro ... ¿Cómo puedo adaptar esta línea "setContentView (R.layout.test);" para permitirle recibir llamadas desde otros diseños, no solo desde el de "prueba"? – user1123530

+0

No sé si entiendo bien, pero necesitará un cronómetro en cada diseño XML si no agrega el cronómetro en Java. – user1014917

+0

Bueno, tengo un menú que me redirige a uno de los cinco XML idénticos con un cronómetro y un archivo java, tanto Java como XML con el código anterior ... ¿Cómo puedo adaptar el archivo java para que sirva cinco xmls? ¿O tengo que crear un archivo java para cada xml? – user1123530