Cuidado con el parámetro Context

Ayer en mis inicios por el  mundo de desarrollo de Android,  quería que pulsando un botón de mi Activity1, se mostrara una Activity2. Para hacer esto, lo  más normal y lo que vas a encontrar en Internet es que tienes que crearte un Intent de la siguiente forma:

intentErrorWrong

Esta línea de código dará el siguiente error, en vuestro IDE ( supongo que estáis programando con ADT de Eclipse).

intentError

Este error se produce porque this está haciendo referencia a la instancia de OnClickListener, sin embargo, el constructor de Intent espera un Context. Para solucionar este problema hay que modificar la línea de código anterior de la siguiente forma:

intentErrorOk

Para finalizar como es debido, si queréis saber como lanzar (Activity launcher) la segunda Activity, sólo hay que escribir esta línea de código:

startActivity

Actualización: Otra alternativa que se podría hacer para solucionar el problema, lo ha propuesto Miguel Ángel López Vicente, y sería la utilización del método getApplicationContext():

intentAlternativa

Muchas gracias 🙂

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s