Android App开发中ViewPager组件的入门使用教程

2019-12-10 18:37:30于丽

getCount():返回要滑动的VIew的个数

@Override 
public void destroyItem(ViewGroup container, int position, 
    Object object) { 
  // TODO Auto-generated method stub 
  container.removeView(viewList.get(position)); 
} 

destroyItem():从当前container中删除指定位置(position)的View;

@Override 
public Object instantiateItem(ViewGroup container, int position) { 
  // TODO Auto-generated method stub 
    container.addView(viewList.get(position)); 
     
     
    return viewList.get(position); 
  } 
}; 

instantiateItem():做了两件事,第一:将当前视图添加到container中,第二:返回当前View

@Override 
public boolean isViewFromObject(View arg0, Object arg1) { 
  // TODO Auto-generated method stub 
  return arg0 == arg1; 
} 

isViewFromObject():对于这个函数就先不做讲解,大家目前先知道它要这样重写就行了,后面我们会对它进行改写。 

三、对键Key的理解
viewpager不直接处理每一个视图而是将各个视图与一个键联系起来。这个键用来跟踪且唯一代表一个页面,不仅如此,该键还独立于这个页面所在adapter的位置。当pageradapter将要改变的时候他会调用startUpdate函数,接下来会调用一次或多次的instantiateItem或者destroyItem。最后在更新的后期会调用finishUpdate。当finishUpdate返回时 instantiateItem返回的对象应该添加到父ViewGroup destroyItem返回的对象应该被ViewGroup删除。methodisViewFromObject(View, Object)代表了当前的页面是否与给定的键相关联。