weidongjian / androidWheelView

仿照iOS的滚轮控件,从请吃饭apk反编译出来的

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LoopView.java的onDraw方法crash崩溃

pop1030123 opened this issue · comments

LoopView.java的onDraw方法里:

@Override
protected void onDraw(Canvas canvas) {
    if (items == null) {
        return;
    }
    change = (int) (totalScrollY / (lineSpacingMultiplier * maxTextHeight));
    preCurrentIndex = initPosition + change % items.size();

以上代码中,if里面没有判断items的size不为0 ,导致为0时,最后一行代码对0取余报下面错误:

java.lang.ArithmeticException: divide by zero
at com.weigan.loopview.LoopView.onDraw(LoopView.java:365)
at android.view.View.draw(View.java:16201)
at android.view.View.updateDisplayListIfDirty(View.java:15198)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3594)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3574)
at android.view.View.updateDisplayListIfDirty(View.java:15158)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3594)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3574)
at android.view.View.updateDisplayListIfDirty(View.java:15158)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3594)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3574)
at android.view.View.updateDisplayListIfDirty(View.java:15158)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3594)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3574)
at android.view.View.updateDisplayListIfDirty(View.java:15158)

+1