Lo más probable, sobre todo si no utilizamos fragments, es que nuestra app esté compuesta de más de una activity. Para navegar de una a otra, podemos utilizar un objeto intent. Veámoslo con un ejemplo: vamos a crear una nueva actividad en nuestra app. En el menú de Android Studio, seleccionamos File > New > Activity > Empty Activity y aceptamos las opciones por defecto de la nueva actividad. El wizard añadirá no solo una clase MainActivity2, sino también su layout y la línea en el manifiesto. Para navegar de nuestra actividad a la nueva, modificaremos el código de este modo:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
findViewById
Creamos un objeto intent:
- el primer parámetro es el contexto del paquete, pero valdrá con el contexto de nuestra actividad.
- El segundo parámetro es la clase de la activity a la que deseamos navegar.
Una vez creado el intent, llamaremos a la función de la startActivity con él y la nueva actividad se mostrará sobre la actual. Decimos "sobre" porque el sistema Android guardará una pila de vistas una sobre otra según vayamos abriéndolas, lo que se conoce como back stack. Cuando cerremos (destruyamos) una ventana, presionando Atrás, por ejemplo, se mostrará la anterior, la que está debajo en la pila.