Curso Curso de Android
¿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
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 clase Intent
. 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 clase Activity
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 clase Activity
y luego el método getStringExtra()
o getIntExtra()
, 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 clase Bundle
. 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.
get()
de la clase Bundle
. 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()));
}
1917 visitas
« Capítulo 24 – ConstraintLayout
Capítulo 26 – Calculadora »
Descarga el código fuente del proyecto adquiriendo el curso completo
Comprar© Copyright Codea::App Cursos de Programación Online | LATAM | 2020 - 2025