我是靠谱客的博主 个性飞机,最近开发中收集的这篇文章主要介绍ViewPager中做图片缩放遇到:java.lang.IllegalArgumentException: pointerIndex out of range,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

业务需求,一个viewpager中放一个可缩放的imageview,爆出这个bug.
感谢周刚博主提供解决方案:
来自:http://blog.csdn.net/nnmmbb/article/details/28419779

这里做个记录:
解决方法是,方法是:捕获IllegalArgumentException(非法参数异常)异常 即如

private float spacing(MotionEvent event) { 
        try { 
        x = event.getX(0) - event.getX(1); 
        y = event.getY(0) - event.getY(1); 
    } catch (IllegalArgumentException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
    } 

通过复写viewpager的onTouchEvent与onInterceptTouchEvent方法,把异常try掉。以下为源码:

public class ViewPagerFixed extends android.support.v4.view.ViewPager {  

    public ViewPagerFixed(Context context) {  
        super(context);  
    }  

    public ViewPagerFixed(Context context, AttributeSet attrs) {  
        super(context, attrs);  
    }  

    @Override  
    public boolean onTouchEvent(MotionEvent ev) {  
        try {  
            return super.onTouchEvent(ev);  
        } catch (IllegalArgumentException ex) {  
            ex.printStackTrace();  
        }  
        return false;  
    }  

    @Override  
    public boolean onInterceptTouchEvent(MotionEvent ev) {  
        try {  
            return super.onInterceptTouchEvent(ev);  
        } catch (IllegalArgumentException ex) {  
            ex.printStackTrace();  
        }  
        return false;  
    }  
}  

替换成fixed后的viewpager

   <com.comveedoctor.widget.ViewPagerFixed
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </com.comveedoctor.widget.ViewPagerFixed>

再次感谢。

最后

以上就是个性飞机为你收集整理的ViewPager中做图片缩放遇到:java.lang.IllegalArgumentException: pointerIndex out of range的全部内容,希望文章能够帮你解决ViewPager中做图片缩放遇到:java.lang.IllegalArgumentException: pointerIndex out of range所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部