gowong / material-sheet-fab

Android library that provides the floating action button to sheet transition from Google's Material Design.
MIT License
1.58k stars 255 forks source link

Fix issue with set background on CardView - pre 21 API #2

Closed prabel closed 9 years ago

prabel commented 9 years ago

Its issue with setBackground on CardView on pre lolipop https://code.google.com/p/android/issues/detail?id=77843

jiteshlalwani commented 9 years ago

Sorry I did not understand. What should be done to stop the crash? Thanks

gowong commented 9 years ago

@prabel You mentioned in #3 that you were experiencing crashes due to calling setBackground() on a CardView. Can you post the stack trace and the version of Android? I tested the sample app on Android 5.0 and 4.4.2 and it worked fine.

prabel commented 9 years ago
java.lang.ClassCastException: android.graphics.drawable.ColorDrawable cannot be cast to android.support.v7.widget.RoundRectDrawableWithShadow
       at android.support.v7.widget.CardViewEclairMr1.getShadowBackground(CardViewEclairMr1.java:159)
       at android.support.v7.widget.CardViewEclairMr1.getMinWidth(CardViewEclairMr1.java:150)
       at android.support.v7.widget.CardView.onMeasure(CardView.java:181)
       at android.view.View.measure(View.java:16515)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5055)
       at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1435)
       at android.widget.LinearLayout.measureVertical(LinearLayout.java:720)
       at android.widget.LinearLayout.onMeasure(LinearLayout.java:592)
       at android.view.View.measure(View.java:16515)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5055)
       at android.support.design.widget.CoordinatorLayout.onMeasureChild(CoordinatorLayout.java:582)
       at android.support.design.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:649)
       at android.view.View.measure(View.java:16515)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5055)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
       at android.view.View.measure(View.java:16515)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5055)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
       at android.view.View.measure(View.java:16515)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5055)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
       at android.view.View.measure(View.java:16515)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5055)
       at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1435)
       at android.widget.LinearLayout.measureVertical(LinearLayout.java:720)
       at android.widget.LinearLayout.onMeasure(LinearLayout.java:592)
       at android.view.View.measure(View.java:16515)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5055)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
       at android.view.View.measure(View.java:16515)
       at android.support.v4.widget.DrawerLayout.onMeasure(DrawerLayout.java:868)
       at android.view.View.measure(View.java:16515)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5055)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
       at android.support.v7.internal.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:124)
       at android.view.View.measure(View.java:16515)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5055)
       at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1435)
       at android.widget.LinearLayout.measureVertical(LinearLayout.java:720)
       at android.widget.LinearLayout.onMeasure(LinearLayout.java:592)
       at android.view.View.measure(View.java:16515)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5055)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
       at android.view.View.measure(View.java:16515)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5055)
       at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1435)
       at android.widget.LinearLayout.measureVertical(LinearLayout.java:720)
       at android.widget.LinearLayout.onMeasure(LinearLayout.java:592)
       at android.view.View.measure(View.java:16515)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5055)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
       at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2561)
       at android.view.View.measure(View.java:16515)
       at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2194)
       at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1339)
       at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1550)
       at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1236)
       at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5160)
       at android.view.Choreographer$CallbackRecord.run(Choreographer.java:791)
       at android.view.Choreographer.doCallbacks(Choreographer.java:591)
       at android.view.Choreographer.doFrame(Choreographer.java:561)
       at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:777)
       at android.os.Handler.handleCallback(Handler.java:725)
       at android.os.Handler.dispatchMessage(Handler.java:92)
       at android.os.Looper.loop(Looper.java:176)
       at android.app.ActivityThread.main(ActivityThread.java:5365)
       at java.lang.reflect.Method.invokeNative(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:511)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
       at dalvik.system.NativeStart.main(NativeStart.java)
prabel commented 9 years ago

@gowong This issue occurs when I open new activity from SheetFab and then try to return by finish. On Android 5.0 + it works fine, but on 4.2 and 4.4 there are crashes

gowong commented 9 years ago

Fixed by 2c609311a813961567e8fdfcca5112763a97bf0b Thanks for reporting this.