/ / Android: Cómo iniciar una actividad desde LazyAdapter en onClick - android, android-activity

Android: Cómo iniciar una actividad desde LazyAdapter en onClick - android, android-activity

Tengo un LazyAdapter que se extiende desdeBaseAsapter, en el que he implementado un clickListener. Si el usuario hace clic en Facebook, debería abrir el facebook y si el usuario hace clic en Twitter, debería pasar a la siguiente actividad.

Mi código en LazyAdapter es

button.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub


if(item.equalsIgnoreCase(Constants.Facebook))
{

SocialActivity obj1=new SocialActivity();
obj1.startFB(context);


}
else if(item.equalsIgnoreCase(Constants.Twitter))
{

SocialActivity obj=new SocialActivity();
obj.startTwitter(context);
}

}
});

y este es el Código en SocialActivity

Método de Twitter

void startTwitter(Context con)
{
Intent intent = new Intent(con,TwitterInterface.class);
startActivity(intent);
}

Método de Facebook

void startFb(Context con)
{
Intent intent = new Intent(con,FaceBook.class);
startActivity(intent);
}

En lugar de esto, también probé este código en LazyAdapter, pero cada vez que me da Null Pointer Exception. Por lo tanto, cualquier ayuda para resolver este problema será muy apreciada y gracias de antemano.

if(item.equalsIgnoreCase(Constants.Facebook))
{
SocialActivity obj1=new SocialActivity();
Intent in = new Intent(context,Facebook.class);

obj1.startActivity(in);


}
else if(item.equalsIgnoreCase(Constants.Twitter))
{

SocialActivity obj=new SocialActivity();
Intent intent = new Intent(context,TwitterInterface.class);

obj.startActivity(intent);
}

Respuestas

1 para la respuesta № 1

He resuelto usando

v.getContext().startActivity(intent)

Intent intent = new Intent(context,TwitterInterface.class);

v.getContext().startActivity(intent);

0 para la respuesta № 2

Pruebe esto, es más simple y una buena práctica de codificación

button.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {

if(item.equalsIgnoreCase(Constants.Facebook))
{
SocialActivity obj1=new SocialActivity();
obj1.startFB(mContext);
}
else if(item.equalsIgnoreCase(Constants.Twitter))
{
SocialActivity obj=new SocialActivity();
obj.startTwitter(mContext);
}

}
});