[英]How to set onclicklistener in lazyadapter->getItem() and launch an activity in onClick Method
[英]Android: How to start an activity from LazyAdapter in onClick
我有一個從BaseAsapter擴展的LazyAdapter,在其中我實現了clickListener。 如果用戶單擊Facebook,則應打開Facebook;如果用戶單擊Twitter,則應進行下一個活動。
我在LazyAdapter中的代碼是
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);
}
}
});
這是SocialActivity
的代碼
Twitter方法
void startTwitter(Context con)
{
Intent intent = new Intent(con,TwitterInterface.class);
startActivity(intent);
}
Facebook方法
void startFb(Context con)
{
Intent intent = new Intent(con,FaceBook.class);
startActivity(intent);
}
取而代之的是,我也在LazyAdapter
嘗試了這段代碼,但是每次它給我Null Pointer Exception
。 因此,對於解決此問題的任何幫助,我們將深表感謝,並在此先感謝您。
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);
}
我已經解決了
v.getContext().startActivity(intent)
Intent intent = new Intent(context,TwitterInterface.class);
v.getContext().startActivity(intent);
試試看,它更簡單,也是編碼的好習慣
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);
}
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.