1.PagerAdapter {
public int getCount() {
return list.size();
}
public Object instantiateItem(ViewGroup container, int postion) {
container.addView(iv);
return iv;
}
public void destroyItem(ViewGroup container, int position, Object object) {
//super.destroyItem(container, position, object);
container.removeView((ImageView)object);
}
public boolean isViewFromObject(View view, Object object) { // 判断当前看到的页面是否是通过instantiateItem()返回回来的视图页面
return view == object;
}
public CharSequence getPageTitle(int position) {
return "tab" + position; // PagerTabStrip(ViewPager子布局)
}
}
2.监听器
OnPageChangeListener {
public void onPageScrolled(int position, float positionOffSet, int positionOffSetPixels) {}
public void onPageSelected(int position) {}
public void onPageScrollStateChanged(int state) {}
}
3.ViewPager里放Fragment两种Adapter
FragmentPagerAdapter {
public MyFragmentAdapter(FragmentManager fm) {
super(fm);
}
public Fragment getItem(int position) {}
public int getCount() {}
}
FragmentStatePagerAdapter 只保留3个页面的状态、数据
4.ViewPager的应用
a.在ListView上方展示一个Banner(广告)条,向左右无限滑动
b.ViewPager和ActionBar、RadioGroup、Button的联动
tab.getPosition();
tab.select();
actionBar.getTabAt(position);
RadioButton rb = (RadioButton)rg.getChildAt(position);
rg.getChildCount();
c.ViewPager欢迎页.