Android - Chronometer en android studio

 
Vista:
sin imagen de perfil
Val: 8
Ha disminuido su posición en 2 puestos en Android (en relación al último mes)
Gráfica de Android

Chronometer en android studio

Publicado por Cesar (5 intervenciones) el 25/06/2017 21:36:33
Buenas tardes , llevo un par de dias atascado con un problema en una pequeña app que estoy desarrollando ...

Desde el onCreate de mi app tengo un boton que llama a un metodo que se llama empezar asalto , si pulso el boton antes de que los 12 segundos que tengo asignados a la variable timeRoundSelected todo va bien ... el problema viene cuando dejo que el timpo se agote ... el contador llega a los 12 segundos y se para , el boton cambia el texto a "START" para volver a iniciar el boton . Pero si esta vez pulso el boton aunque el contador si vuelve a iniciar el texto del boton no cambia a STOP para indicar que podemos pararlo ... no lo entiendo la verdad ... si entra en el metodo cronoStart() y reinicia el chronometer por que no cambia el texto del boton ?? .

Un Saludo a todos y gracias .



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
public void empezarAsalto() {
 
        final float starttime = SystemClock.elapsedRealtime();
        crono.setBase(SystemClock.elapsedRealtime());
 
        if (!estado) {
            cronoStart();
            crono.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
                @Override
                public void onChronometerTick(Chronometer chronometer) {
                    float elapsedTime = SystemClock.elapsedRealtime();
                    if (elapsedTime - starttime >= Integer.parseInt(timeRoundSelected)) {
                        cronoStop();
 
                    }
                }
            });
 
        } else {
            cronoStop();
        }
    }
 
    private void getPrefers() {
 
        SharedPreferences _sPref = PreferenceManager.getDefaultSharedPreferences(this);
        timeRoundSelected = _sPref.getString("timeRoundsKey", "");
    }
 
    public void cronoStart(){
        btnStartStop.setText("STOP");
        btnStartStop.setTextSize(30);
        estado=true;
        crono.setBase(SystemClock.elapsedRealtime());
        crono.start();
    }
 
    public void cronoStop() {
        btnStartStop.setText("START");
        btnStartStop.setTextSize(30);
        estado = false;
        crono.stop();
    }
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Chronometer en android studio

Publicado por salvador (1 intervención) el 12/09/2017 12:01:19
hola yo modificaría

if (!estado) {

por

if (estado==true){

o

if(!=estado){
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar