ckurtm / FabButton

Android Floating ActionButton with a progress indicator ring
774 stars 152 forks source link

Nullpointer exception setting progress to 100 on a fragment #14

Closed funex closed 9 years ago

funex commented 9 years ago

When setting the progress for either a determined or undetermined fabbutton to 100, it throws an nullpointer exception:

E/AndroidRuntime﹕ FATAL EXCEPTION: main java.lang.NullPointerException at mbanje.kurt.fabbutton.CircleImageView.showCompleted(CircleImageView.java:227) at mbanje.kurt.fabbutton.FabButton.onProgressCompleted(FabButton.java:171) at mbanje.kurt.fabbutton.ProgressRingView.onIndeterminateValuesChanged(ProgressRingView.java:278) at mbanje.kurt.fabbutton.FabUtil$2.onAnimationUpdate(FabUtil.java:63) at android.animation.ValueAnimator.animateValue(ValueAnimator.java:1166) at android.animation.ValueAnimator.animationFrame(ValueAnimator.java:1102) at android.animation.ValueAnimator.doAnimationFrame(ValueAnimator.java:1131) at android.animation.ValueAnimator$AnimationHandler.doAnimationFrame(ValueAnimator.java:616) at android.animation.ValueAnimator$AnimationHandler.run(ValueAnimator.java:639) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:766) at android.view.Choreographer.doCallbacks(Choreographer.java:575) at android.view.Choreographer.doFrame(Choreographer.java:541) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:751) at android.os.Handler.handleCallback(Handler.java:725) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:158) at android.app.ActivityThread.main(ActivityThread.java:5751) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1083) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:850) at dalvik.system.NativeStart.main(Native Method)

Too reproduce the error, I just narrow it down to:

@Override
public void onClick(View v) {
    mButton.showProgress(true);
    mButton.setProgress(100);
}

It will still throw the same exception.

funex commented 9 years ago

Apparently an indeterminate button is not supposed to have a completed phase. I wasn't aware of that. Only a determinate button can trigger a bitmap upon completetion, am I correct?

ckurtm commented 9 years ago

yes, indeterminate progress has no known completion state.