Mam LazyAdapter, który rozciąga się odBaseAsapter, w którym zaimplementowałem metodę clickListener. Jeśli użytkownik kliknie na Facebooku, powinien otworzyć facebooka, a jeśli użytkownik kliknie na Twitterze, powinien przejść do następnej czynności.
Mój kod w LazyAdapter to
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);
}
}
});
i to jest kod w SocialActivity
Metoda Twittera
void startTwitter(Context con)
{
Intent intent = new Intent(con,TwitterInterface.class);
startActivity(intent);
}
Metoda Facebooka
void startFb(Context con)
{
Intent intent = new Intent(con,FaceBook.class);
startActivity(intent);
}
Zamiast tego wypróbowałem również ten kod w LazyAdapter
, ale za każdym razem mi to daje Null Pointer Exception
. Dlatego każda pomoc w rozwiązaniu tego problemu będzie bardzo mile widziana iz góry dziękujemy.
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);
}
Odpowiedzi:
1 dla odpowiedzi № 1Rozwiązałem za pomocą
v.getContext().startActivity(intent)
Intent intent = new Intent(context,TwitterInterface.class);
v.getContext().startActivity(intent);
0 dla odpowiedzi nr 2
Spróbuj tego, to jest prostsze i stanowi dobrą praktykę kodowania
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);
}
}
});