运行时可以自动轮播 可以右滑 但左滑时就报错 具体错误在下图 求解救。。。。
public class AcAdapter extends PagerAdapter {
List datas;
Context context;
List list;
public AcAdapter(List<View> datas, Context context, List<ActivityInfo> list) {
this.datas = datas;
this.context = context;
this.list = list;
}
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
@Override
public void destroyItem(View container, int position, Object object) {
}
/**
* 载入图片进去,用当前的position 除以 图片数组长度取余数是关键
*/
@Override
public Object instantiateItem(View container, int position) {
position %= datas.size();
if (position < 0) {
position = datas.size() + position;
}
View view = datas.get(position % datas.size());
final int a = position;
view.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(context, ActActivity.class);
Bundle bundle = new Bundle();
bundle.putSerializable("activityInfo", list.get(a));
bundle.putInt("flagId", 1);
intent.putExtras(bundle);
context.startActivity(intent);
}
});
ViewParent vp = view.getParent();
if (vp != null) {
ViewGroup parent = (ViewGroup) vp;
parent.removeView(view);
}
((ViewGroup) container).addView(view);
try {
if (datas.get(position % datas.size()).getParent() == null) {
((ViewPager) container).addView(datas.get(position
% datas.size()));
} else {
((ViewPager) datas.get(position % datas.size()).getParent())
.removeView(datas.get(position % datas.size()));
((ViewPager) container).addView(
datas.get(position % datas.size()), 0);
}
} catch (Exception e) {
e.printStackTrace();
}
return datas.get(position % datas.size());//
}
}