umano / AndroidSlidingUpPanel

This library provides a simple way to add a draggable sliding up panel (popularized by Google Music and Google Maps) to your Android application. Brought to you by Umano.
http://umano.me
Apache License 2.0
9.5k stars 2.26k forks source link

NullPointerException when panel is collapsed #236

Closed skynewborn closed 10 years ago

skynewborn commented 10 years ago

Error log attached below:

java.lang.NullPointerException at com.sothree.slidinguppanel.ViewDragHelper.continueSettling(ViewDragHelper.java:720) at com.sothree.slidinguppanel.SlidingUpPanelLayout.computeScroll(SlidingUpPanelLayout.java:1031) at android.view.View.getDisplayList(View.java:13360) at android.view.View.getDisplayList(View.java:13417) at android.view.View.draw(View.java:14195) at android.view.ViewGroup.drawChild(ViewGroup.java:3137) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2974) at android.view.View.draw(View.java:14481) at android.view.View.getDisplayList(View.java:13375) at android.view.View.getDisplayList(View.java:13417) at android.view.View.draw(View.java:14195) at android.view.ViewGroup.drawChild(ViewGroup.java:3137) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2974) at android.view.View.draw(View.java:14481) at android.widget.FrameLayout.draw(FrameLayout.java:472) at android.view.View.getDisplayList(View.java:13375) at android.view.View.getDisplayList(View.java:13417) at android.view.View.draw(View.java:14195) at android.view.ViewGroup.drawChild(ViewGroup.java:3137) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2974) at android.view.View.getDisplayList(View.java:13370) at android.view.View.getDisplayList(View.java:13417) at android.view.View.draw(View.java:14195) at android.view.ViewGroup.drawChild(ViewGroup.java:3137) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2974) at android.view.View.draw(View.java:14481) at android.widget.FrameLayout.draw(FrameLayout.java:472) at com.android.internal.policy.impl.PhoneWindow$DecorView.draw( at android.view.View.getDisplayList(View.java:13375) at android.view.View.getDisplayList(View.java:13417) at android.view.HardwareRenderer$GlRenderer.buildDisplayList( at android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer. at android.view.ViewRootImpl.draw(ViewRootImpl.java:2471) at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2343) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1973) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1090) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5769 at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761) at android.view.Choreographer.doCallbacks(Choreographer.java:574) at android.view.Choreographer.doFrame(Choreographer.java:544) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer at android.os.Handler.handleCallback(Handler.java:733) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5017) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit. at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620) at dalvik.system.NativeStart.main(Native Method)

skynewborn commented 10 years ago

The exception was first found in Release 2.0.1 on a device running Android 4.4, but it can also be reproduced on an Android 2.3 device. The panel is intended to be expanded initially, and exception occurs after the panel is collapsed (onPanelCollapsed() is called before the crash). Not sure if using ViewStub in the "content" layout is the reason. If it is, I really hope you can fix this issue. Thanks.

tokudu commented 10 years ago

Fixed in https://github.com/umano/AndroidSlidingUpPanel/commit/3338d50bac9a2a03e0bf19b92198266d06ba39a6