alamkanak / Android-Week-View

Android Week View is an android library to display calendars (week view or day view) within the app. It supports custom styling.
Apache License 2.0
3.42k stars 1.23k forks source link

java.lang.IllegalArgumentException: Invalid Region.Op - only INTERSECT and DIFFERENCE are allowed #507

Open mewais opened 6 years ago

mewais commented 6 years ago

Hello, I'm trying to use the library, I was just following the README. I added the compile 'com.github.alamkanak:android-week-view:1.2.6' statement to my build.gradle file. I also added the Weekview to my layout.xml but it causes this error to arise:

    java.lang.IllegalArgumentException: Invalid Region.Op - only INTERSECT and DIFFERENCE are allowed
        at android.graphics.Canvas.checkValidClipOp(Canvas.java:779)
        at android.graphics.Canvas.clipRect(Canvas.java:918)
        at com.alamkanak.weekview.WeekView.drawHeaderRowAndEvents(WeekView.java:591)
        at com.alamkanak.weekview.WeekView.onDraw(WeekView.java:488)
        at android.view.View.draw(View.java:20205)
        at android.view.View.updateDisplayListIfDirty(View.java:19080)
        at android.view.View.draw(View.java:19933)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4333)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
        at android.support.constraint.ConstraintLayout.dispatchDraw(ConstraintLayout.java:1966)
        at android.view.View.updateDisplayListIfDirty(View.java:19071)
        at android.view.View.draw(View.java:19933)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4333)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
        at android.view.View.updateDisplayListIfDirty(View.java:19071)
        at android.view.View.draw(View.java:19933)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4333)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
        at android.view.View.updateDisplayListIfDirty(View.java:19071)
        at android.view.View.draw(View.java:19933)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4333)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
        at android.view.View.updateDisplayListIfDirty(View.java:19071)
        at android.view.View.draw(View.java:19933)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4333)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
        at android.view.View.updateDisplayListIfDirty(View.java:19071)
        at android.view.View.draw(View.java:19933)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4333)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
        at android.view.View.draw(View.java:20208)
        at com.android.internal.policy.DecorView.draw(DecorView.java:780)
        at android.view.View.updateDisplayListIfDirty(View.java:19080)
        at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:685)
        at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:691)
        at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:799)
        at android.view.ViewRootImpl.draw(ViewRootImpl.java:3263)
        at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3079)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2459)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1447)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7130)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:935)
        at android.view.Choreographer.doCallbacks(Choreographer.java:747)
        at android.view.Choreographer.doFrame(Choreographer.java:682)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:921)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6642)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

Any ideas why this happens? Thanks.

thellmund commented 6 years ago

Hi, I’ve experienced the same issue and implemented a fix. Take a look here #521. Hope it helps!

Nikoloutsos commented 5 years ago

I think you will solve this issue by just setting the targetSdkVersion to 27. At least that worked for me!