jrgm
- 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();
}
});
}
}
Contenido editorial recomendado
Con su consentimiento, aquí se cargan contenidos externos.
Al hacer clic en el botón anterior, acepta que se le muestren contenidos externos. En el proceso pueden transmitirse datos personales a terceros proveedores. Encontrará más información al respecto en nuestro Política de privacidad.