Android 使用 viewpage实现自动轮播图出错

运行时可以自动轮播 可以右滑 但左滑时就报错 具体错误在下图 求解救。。。。图片图片图片

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());//
}

}