ViewPager的PagerAdapter的四个方法解析
2014-08-09 17:03
381 查看
ViewPager只有一个addView方法
void addView(View child, int index, ViewGroup.LayoutParams params)
而android.view.ViewGroup有五个addView方法
void addView(View child, int index, ViewGroup.LayoutParams params)
void addView(View child, ViewGroup.LayoutParams params)
void addView(View child, int index)
void addView(View child)
void addView(View child, int width, int height)
而这里调用的removeView是ViewPager的方法,
即android.support.v4.view.PagerAdapter.removeView 即void removeView(View view)
而android.view.ViewGroup有一个removeView方法 void removeView(View view)
[b]例如如下代码:(在继承PagerAdapter的子类中实现)[/b]
这里的ViewGroup其实就是ViewPager,android.support.v4.view.ViewPager由android.view.ViewGroup这个类继承而来的。
container就是传递进来的ViewPager对象, 这里的addView是ViewPager的父类ViewGroup的方法即android.view.ViewGroup.addView方法,
@Override
public void destroyItem(ViewGroup container, int position,Object object)
{
container.removeView(mListViews.get(position));
}
@Override
public Object instantiateItem(ViewGroup container, intposition)
{
container.addView(mListViews.get(position));
returnmListViews.get(position);
}
@Override
public int getCount()
{
returnmListViews.size();
}
@Override
public boolean isViewFromObject(View arg0, Object arg1)
{
return arg0 == arg1;
}
void addView(View child, int index, ViewGroup.LayoutParams params)
而android.view.ViewGroup有五个addView方法
void addView(View child, int index, ViewGroup.LayoutParams params)
void addView(View child, ViewGroup.LayoutParams params)
void addView(View child, int index)
void addView(View child)
void addView(View child, int width, int height)
而这里调用的removeView是ViewPager的方法,
即android.support.v4.view.PagerAdapter.removeView 即void removeView(View view)
而android.view.ViewGroup有一个removeView方法 void removeView(View view)
[b]例如如下代码:(在继承PagerAdapter的子类中实现)[/b]
这里的ViewGroup其实就是ViewPager,android.support.v4.view.ViewPager由android.view.ViewGroup这个类继承而来的。
container就是传递进来的ViewPager对象, 这里的addView是ViewPager的父类ViewGroup的方法即android.view.ViewGroup.addView方法,
@Override
public void destroyItem(ViewGroup container, int position,Object object)
{
container.removeView(mListViews.get(position));
}
@Override
public Object instantiateItem(ViewGroup container, intposition)
{
container.addView(mListViews.get(position));
returnmListViews.get(position);
}
@Override
public int getCount()
{
returnmListViews.size();
}
@Override
public boolean isViewFromObject(View arg0, Object arg1)
{
return arg0 == arg1;
}
相关文章推荐
- ViewpagerAdapter重要的四个方法解析
- ViewPager的setAdapter和setCurrentItem的方法解析
- ViewPager(覆盖四个方法查看api)
- ViewPager适配PagerAdapter的时候 instantiateItem方法报错的处理
- Android ViewPager切换之PageTransformer接口中transformPage方法解析
- ViewPager与PagerAdapter深度解析
- FragmentpagerAdapter中的getItem方法,在第二次进入承载viewPager的Fragment时不会被调用原因
- Adapter中onItemClick方法中的四个参数解析
- 项目解析一:仿csdn 代码解析(TabLayout,Viewpager,FragmentPagerAdapter)
- 【Android】FragmentPagerAdapter数据刷新notifyDataSetChanged没效果研究或不执行OnCreatView方法导致界面不刷新
- ViewPager源码解析之FragmentPagerAdapter和FragmentStatePagerAdapter
- Android FragmentPagerAdapter数据刷新notifyDataSetChanged没效果研究或不执行OnCreatView方法导致界面不刷新
- 多种多样的App主界面Tab实现方法——利用ViewPager+FragmentPagerAdapter实现Tab
- (六十九)ViewPager的使用方法解析
- 解决Fragment中放置ViewPager,不执行adapter的方法
- Viewpager动态添加删除Fragment ,viewPageadapter.notifyDataSetChanged()方法不管用问题
- Android ViewPager相册横向移动的实现方法
- View和ViewGroup方法解析
- Android中ViewPager使用FragmentPagerAdapter(底部圆点)
- android学习笔记---44_在线视频播放器,网络视频解析器,SurfaceView 控件使用方法