/ / Android : Comment démarrer une activité depuis LazyAdapter dans onClick - android, android-activity

Android: Comment démarrer une activité à partir de LazyAdapter dans onClick - android, android-activity

J'ai un LazyAdapter qui s'étend deBaseAsapter, dans lequel j'ai implémenté un clickListener. Si l'utilisateur clique sur Facebook, cela devrait ouvrir le Facebook et si l'utilisateur clique sur Twitter, cela devrait passer à l'activité suivante.

Mon code dans LazyAdapter est

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);
}

}
});

et c'est le Code dans SocialActivity

Méthode Twitter

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

Méthode Facebook

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

Au lieu de cela, j'ai également essayé ce code dans LazyAdapter, mais à chaque fois ça me donne Null Pointer Exception. Donc, toute aide pour résoudre ce problème sera très appréciée et merci d'avance.

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);
}

Réponses:

1 pour la réponse № 1

j'ai résolu en utilisant

v.getContext().startActivity(intent)

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

v.getContext().startActivity(intent);

0 pour la réponse № 2

Essayez ceci, c'est plus simple et une bonne pratique de codage

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);
}

}
});