使用ViewPager循环滑动时注意的问题

来源:互联网 发布:淘宝三星手机官网 编辑:程序博客网 时间:2024/06/09 23:20

今天使用ViewPager来循环换掉切换界面时发现,图片个数少于等于两张时,就会报如下错误:




错误的原因:通过LayoutInflater实例化的一个布局(View)。被重复添加了两次。而一个View只能有一个父控件。当第二次添加的时候,又要改变这个控件的父控件(虽然是同一个父控件,但是也要通过改变该View的父控件来实现)。运行时又不允许一个有父控件的子控件在有了一个父控件时,改变他的父控件。感觉跟Java的单继承很像。具体错误的代码是:

((ViewPager) container).addView(views.get(position % views.size()), 0); 

错误分析:ViewPager循环滑动当只有两张图片时,起始的那张图片左边和右边都是第二张图片。如果有三张及其以上图片时,就不会出现左边和右边相同的这种情况,具体原因我也不知道为什么。

解决方法: 只需要注释掉 

((ViewPager)container).removeView(views.get(position % views.size()));这条语句,并价格异常捕捉就行了


  

0 0
原创粉丝点击