➜ Pasar parámetros entre activities
¿Cómo pasar parámetros entre actividades? | Para enviar parámetros o valores entre actividades los podemos hacer usando el método putExtra donde recibe los parámetros en valores pares
Pasar parámetros entre actividades en Android
Existen dos métodos principales para pasar parámetros entre actividades en Android:
1. Intent Extras:
-
¿Qué es? Un Intent es un objeto que representa una solicitud para realizar una acción, como iniciar una actividad, mostrar un diálogo o enviar un mensaje de transmisión. Los Extras son un conjunto de pares clave-valor que se pueden adjuntar a un Intent para pasar datos entre componentes de la aplicación.
-
¿Cómo se usa?
-
Crea un Intent: Crea un objeto Intent utilizando la clase
Intent
y especifica la clase de la actividad de destino como constructor. -
Agrega Extras: Para agregar datos a un Intent, utiliza el método
putExtra()
de la claseIntent
. El primer parámetro es la clave de los datos y el segundo parámetro es el valor de los datos. Puedes agregar varios pares clave-valor al mismo Intent. -
Inicia la actividad: Para iniciar la actividad de destino, utiliza el método
startActivity()
de la claseActivity
y pasa el Intent como parámetro. -
Recupera los Extras: En la actividad de destino, puedes recuperar los Extras del Intent utilizando el método
getIntent()
de la claseActivity
y luego el métodogetStringExtra()
ogetIntExtra()
, etc., para obtener los valores correspondientes a cada clave.
-
Ejemplo:
En la actividad MainActivity
, queremos pasar el nombre "Juan Pérez" a la actividad DetailActivity
.
MainActivity.java:
Java
Intent intent = new Intent(this, DetailActivity.class);
intent.putExtra("nombre", "Juan Pérez");
startActivity(intent);
En la actividad DetailActivity
, queremos recuperar el nombre pasado desde MainActivity
.
DetailActivity.java:
Java
String nombre = getIntent().getStringExtra("nombre");
TextView textView = findViewById(R.id.textViewNombre);
textView.setText(nombre);
2. Bundle:
-
¿Qué es? Un Bundle es un objeto similar a un diccionario que se utiliza para almacenar y pasar datos. Es más flexible que Extras, ya que puede almacenar no solo tipos de datos primitivos, sino también objetos complejos como listas y mapas.
-
¿Cómo se usa?
-
Crea un Bundle: Crea un objeto Bundle utilizando la clase
Bundle
. -
Agrega datos: Para agregar datos a un Bundle, utiliza el método
put()
de la claseBundle
. El primer parámetro es la clave de los datos y el segundo parámetro es el valor de los datos. Puedes agregar varios pares clave-valor al mismo Bundle. -
Pasa el Bundle: Para pasar el Bundle a una actividad, puedes hacerlo de dos maneras:
-
Como parámetro de Intent: Al igual que con Extras, puedes adjuntar el Bundle al Intent utilizando el método
putExtra()
. -
Como argumento de método: Si la actividad de destino tiene un método que recibe un Bundle como parámetro, puedes pasar el Bundle directamente a ese método.
- Recupera los datos: En la actividad de destino, puedes recuperar los datos del Bundle utilizando el método
get()
de la claseBundle
. El primer parámetro es la clave de los datos y el segundo parámetro es el tipo de dato esperado.
-
Ejemplo:
En la actividad MainActivity
, queremos pasar un objeto Persona
con el nombre "Juan Pérez" y la edad 30 a la actividad DetailActivity
.
MainActivity.java:
Java
Persona persona = new Persona("Juan Pérez", 30);
Bundle bundle = new Bundle();
bundle.putParcelable("persona", persona);
Intent intent = new Intent(this, DetailActivity.class);
intent.putExtras(bundle);
startActivity(intent);
En la actividad DetailActivity
, queremos recuperar el objeto Persona
pasado desde MainActivity
.
DetailActivity.java:
Java
Bundle bundle = getIntent().getExtras();
if (bundle != null) {
Persona persona = bundle.getParcelable("persona");
TextView textViewNombre = findViewById(R.id.textViewNombre);
textViewNombre.setText(persona.getNombre());
TextView textViewEdad = findViewById(R.id.textViewEdad);
textViewEdad.setText(String.valueOf(persona.getEdad()));
}
2429 visitas
Capítulo 26 – Calculadora »
Descarga el código del proyecto
Descarga el código fuente del proyecto adquiriendo el curso completo
Comprar