Cronometro en android

  • Respuestas:0
  • Posts del Foro: 1

17 abr. 2022 23:02:33 vía Web

Buenas estimados

Les comento, estoy haciendo 2 cronómetros para medir tiempo continuo trabajando y tiempo continuo en descanso.
Todo me va bien hasta que se cierra la aplicación los cronómetros vuelven a 0 y deberían seguir contando.
Dejo mi código para su valiosa ayuda.

Saludos.

public class Desarrollo extends AppCompatActivity {

TextView tv_bienvenido_desarrollo;
TextView tv_inicioJornada_desarrollo;
Chronometer cr_jornadaLaboral_desarrollo;
Button bt_inicioJornada_desarrollo;
Button bt_finJornada_desarrollo;
TextView tv_inicioDescanso_desarrollo;
Chronometer cr_descanso_desarrollo;
Button bt_inicioDescanso_desarrollo;
Button bt_finDescanso_desarrollo;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_desarrollo);

    tv_bienvenido_desarrollo = findViewById(R.id.tv_bienvenido_desarrollo);
    tv_inicioJornada_desarrollo = findViewById(R.id.tv_inicioJornada_desarrollo);
    cr_jornadaLaboral_desarrollo = findViewById(R.id.cr_jornadaLaboral_desarrollo);
    bt_inicioJornada_desarrollo = findViewById(R.id.bt_inicioJornada_desarrollo);
    bt_finJornada_desarrollo = findViewById(R.id.bt_finJornada_desarrollo);
    tv_inicioDescanso_desarrollo = findViewById(R.id.tv_inicioDescanso_desarrollo);
    cr_descanso_desarrollo = findViewById(R.id.cr_descanso_desarrollo);
    bt_inicioDescanso_desarrollo = findViewById(R.id.bt_inicioDescanso_desarrollo);
    bt_finDescanso_desarrollo = findViewById(R.id.bt_finDescanso_desarrollo);


    //inicio de los botones
    bt_finJornada_desarrollo.setEnabled(false);
    bt_finDescanso_desarrollo.setEnabled(false);


    //Darle clip al inicio de jornada
    bt_inicioJornada_desarrollo.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            //Establecer tiempo de inicio
            cr_jornadaLaboral_desarrollo.setBase(SystemClock.elapsedRealtime());
            cr_jornadaLaboral_desarrollo.start();
            cr_descanso_desarrollo.stop();
            cr_descanso_desarrollo.setText("00:00");
            //Modificar estado de los botones
            bt_inicioJornada_desarrollo.setEnabled(false);
            bt_finJornada_desarrollo.setEnabled(true);
            bt_inicioDescanso_desarrollo.setEnabled(true);
            bt_finDescanso_desarrollo.setEnabled(false);
            Toast.makeText(Desarrollo.this, "Has iniciado la jornada laboral", Toast.LENGTH_SHORT).show();



        }
    });

    //Darle clip al fin de jornada
    bt_finJornada_desarrollo.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            //Establecer tiempo de inicio
            cr_jornadaLaboral_desarrollo.setBase(SystemClock.elapsedRealtime());
            cr_jornadaLaboral_desarrollo.stop();
            //Modificar estado de los botones
            bt_inicioJornada_desarrollo.setEnabled(true);
            bt_finJornada_desarrollo.setEnabled(false);
            Toast.makeText(Desarrollo.this, "Has finalizado la jornada laboral", Toast.LENGTH_SHORT).show();
        }
    });

    //Darle clip al inicio de descanso
    bt_inicioDescanso_desarrollo.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            //Establecer tiempo de inicio
            cr_descanso_desarrollo.setBase(SystemClock.elapsedRealtime());
            cr_descanso_desarrollo.start();
            cr_jornadaLaboral_desarrollo.stop();
            cr_jornadaLaboral_desarrollo.setText("00:00");
            //Modificar estado de los botones
            bt_inicioDescanso_desarrollo.setEnabled(false);
            bt_finDescanso_desarrollo.setEnabled(true);
            bt_inicioJornada_desarrollo.setEnabled(true);
            bt_finJornada_desarrollo.setEnabled(false);
            Toast.makeText(Desarrollo.this, "Has iniciado el descanso laboral", Toast.LENGTH_SHORT).show();
        }
    });

    //Darle clip al fin de descanso
    bt_finDescanso_desarrollo.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            //Establecer tiempo de inicio
            cr_descanso_desarrollo.setBase(SystemClock.elapsedRealtime());
            cr_descanso_desarrollo.stop();
            //Modificar estado de los botones
            bt_inicioDescanso_desarrollo.setEnabled(true);
            bt_finDescanso_desarrollo.setEnabled(false);
            Toast.makeText(Desarrollo.this, "Has finalizado el descanso laboral", Toast.LENGTH_SHORT).show();
        }
    });
}

}

Contesta el/la primero/a