- Posts del Foro: 1
17 abr. 2022 23:02:33 vía Web
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();
}
});
}
}