Con este método podremos sobreescribir su funcionalidad.
**Si borráramos la linea super.onBackPressed() dejaríamos al botón sin la funcionalidad de volver atrás en esa activity.
override fun onBackPressed() { super.onBackPressed() }
Podremos añadirle un Handler al boton Back para customizarlo un poco.
private var exitEnabled = false override fun onBackPressed() { if(exitEnabled){ super.onBackPressed() } exitEnabled = true Toast.makeText(this,"Click back again to exit this screen",Toast.LENGTH_SHORT).show() Handler().postDelayed(Runnable { exitEnabled = false }, 2000) }
Explicación del Proceso:
La primera vez que pulsa el botón back:
- exitEnabled estará a false
- pondrá exitEnabled a true
- Mandará un Toast con el mensaje «Vuelve a tocar si quiere salir de esta pantalla»
- Activará un Handler que en 2 segundos volverá a poner exitEnabled a false.
* Si en menos de 2 seg se vuelve a pulsar el botón Back:
- exitEnabled estará a true y entrara en el condicional.
- Ejecutará la funcionalidad por defecto del botón Back y volverá al activity anterior.
* Si pasan los 2 seg sin pulsar:
- Actuará el handler programado y volvera a poner la variable exitEnabled a false.