问题描述
- 在 viewpager 中如何实现 Button 的 onClick 方法
-
我想在viewpaper中,点击按钮弹出Toast信息,并且想知道如何在viewpaper上访问views?
我用的以下的代码,不好用。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 } }
下面是 button 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(); } });
请求大家的帮忙,看看如何处理这个问题。
解决方案
把你代码中的
((ViewPager) collection).addView(view, 0);
return view;
改为
((ViewPager) collection).addView(v, 0);
return v;
解决方案二:
参考github.com/Shereef/ViewPagerPlusExpandableList ,可以很好的理解viewpager。
时间: 2024-09-20 00:48:46