viewpager

ViewPage来源于android -support.v4
  1. 什么是viewPage?
    ViewPage 类似于ListView 用于显示多个View集合. 支持页面左右滑动.

  2. 如何使用viewPage以及需要注意点?
    ViewPage 需要Adapter:
    PagerAdapter 有四个重要方法:
    (1) void destroyItem(ViewGroup container, int position, Object object): 销毁
    (2)Object instantiateItem(ViewGroup container, int position) : 添加View
    (3) int getCount() : 获得View总是
    (4) boolean isViewFromObject(View view, Object obj) : View比较

    监听器: setOnPageChangeListener :页面发生改变
    (1) void onPageSelected(int position) :View进行切换 :position 新的页面位置
    (2) void onPageScrolled(int arg0, float arg1, int arg2) :页面正在滚动的时候[滑动偏移信息],回调
    (3) void onPageScrollStateChanged(int arg0) :页面状态发生变化的时候,回调

ListView 因为使用相同的View,所以采用复用。
而ViewPage ,是基于View ,子类有许多不同,所以要注销.

public Object instantiateItem(ViewGroup container, int position) {
// TODO Auto-generated method stub
View view= imageVisws.get(position % images.length);
container.removeView(view); // 重复加入会引起异常
container.addView(view);
return view;

导致异常:java.lang.IllegalStateException The specified child already has a parent. You must call removeView()
原因: 被加入的View 有父类, 所以添加到另外一个集合中之前,必须清除父类.
}

你可能感兴趣的:(android)