Iniciar una actividad con un parámetro
Soy muy nuevo en el desarrollo de Android.
Quiero crear e iniciar una actividad para mostrar información sobre un juego. Para mostrar esa información necesito un gameId.
¿Cómo puedo pasar este ID del juego a la actividad? El ID del juego es absolutamente necesario, así que no quiero crear o iniciar la actividad si no tiene el ID.
Es como si la actividad tuviera sólo un constructor con un parámetro.
¿Cómo puedo hacerlo?
Gracias.
279
3
Poner un
int
que es su id en el nuevoIntent
.Entonces coge el id en tu nueva
Actividad
:Sólo tiene que añadir datos adicionales a la intención que utiliza para llamar a su actividad.
En la actividad de llamada:
Dentro del onCreate() de la actividad que llama:
Editar : Oops, Charlie Sheen fue más rápido.
Las respuestas existentes (pasar los datos en el
Intent
pasado astartActivity()
) muestran la forma normal de resolver este problema. Hay otra solución que se puede utilizar en el extraño caso de que se cree una actividad que será iniciada por otra aplicación (por ejemplo, una de las actividades de edición en un plugin Tasker) y por lo tanto no se controla elIntent
que lanza laActivity
.Puedes crear una clase base
Activity
que tenga un constructor con un parámetro, y luego una clase derivada que tenga un constructor por defecto que llame al constructor de la clase base con un valor, así:Si necesita generar el parámetro para pasar al constructor de la clase base, simplemente reemplace el valor codificado con una llamada a la función que devuelve el valor correcto para pasar.