我想要使用viewpager點擊按鈕點擊一條消息我還想了解如何在viewpager中訪問視圖的更多信息。如何在viewpager中編寫按鈕onClick方法?
我曾嘗試下面的代碼....不工作
public class MyPagerAdapter extends PagerAdapter {
@Override
public int getCount() {
return 3;
}
@Override
public Object instantiateItem(final View collection, final int position) {
v = new View(collection.getContext());
LayoutInflater inflater =
(LayoutInflater) collection.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
int resId = 0;
switch (position) {
case 0:
resId = R.layout.cate1;
v = inflater.inflate(R.layout.cate1, null, false);
add1 = (Button) v.findViewById(R.id.btnAdd);
add1.setOnClickListener(new OnClickListener() {
public void onClick(View m) {
Toast.makeText(collection.getContext(),"click",Toast.LENGTH_LONG).show();
}
});
break;
case 1:
resId = R.layout.cate2;
break;
case 2:
resId = R.layout.cate3;
break;
}
View view = inflater.inflate(resId, null);
((ViewPager) collection).addView(view, 0);
return view;
}
@Override
public void destroyItem(final View arg0, final int arg1, final Object arg2) {
((ViewPager) arg0).removeView((View) arg2);
}
@Override
public boolean isViewFromObject(final View arg0, final Object arg1) {
return arg0 == ((View) arg1);
}
@Override
public void finishUpdate(View arg0) {
// TODO Auto-generated method stub
}
@Override
public void restoreState(Parcelable arg0, ClassLoader arg1) {
// TODO Auto-generated method stub
}
@Override
public Parcelable saveState() {
// TODO Auto-generated method stub
return null;
}
@Override
public void startUpdate(View arg0) {
// TODO Auto-generated method stub
}
}
我寫了下面的按鈕代碼的onclick ....不工作..
v = inflater.inflate(R.layout.cate1, null, false);
add1 = (Button) v.findViewById(R.id.btnAdd);
add1.setOnClickListener(new OnClickListener() {
public void onClick(View m) {
Toast.makeText(collection.getContext(),"click",Toast.LENGTH_LONG).show();
}
});
plz幫助 謝謝提前。
你能詳細說明'我試過下面的代碼....不工作'。什麼不起作用?你會得到什麼錯誤? – Gallal 2012-01-02 08:56:43
add1.setOnClickListener不起作用。 – 2012-01-02 09:12:14
它不會做你想做的事情?或者它什麼都不做?還是會拋出異常?如果它拋出異常,什麼是異常? – Gallal 2012-01-02 11:17:03