kizitonwose / Calendar

A highly customizable calendar view and compose library for Android.
MIT License
4.5k stars 492 forks source link

CalendarView: failure loading custom class #470

Closed KlassenAI closed 1 year ago

KlassenAI commented 1 year ago

Library information:

Describe the bug**

I wanted to have functionality, like in the sample 7 fragment, but when I want to put this code, I have problem:

E/CalendarView: failure loading custom class java.lang.ClassNotFoundException: 0 at java.lang.Class.classForName(Native Method) at java.lang.Class.forName(Class.java:454) at java.lang.Class.forName(Class.java:379) at com.kizitonwose.calendar.view.internal.UtilsKt.setupItemRoot(Utils.kt:80) at com.kizitonwose.calendar.view.internal.weekcalendar.WeekCalendarAdapter.onCreateViewHolder(WeekCalendarAdapter.kt:56) at com.kizitonwose.calendar.view.internal.weekcalendar.WeekCalendarAdapter.onCreateViewHolder(WeekCalendarAdapter.kt:21) at androidx.recyclerview.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:7295) at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6416) at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6300) at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6296) at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2330) at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1631) at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1591) at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:668) at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4309) at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:4012) at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4578) at android.view.View.layout(View.java:23143) at android.view.ViewGroup.layout(ViewGroup.java:6412) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673) at android.widget.LinearLayout.onLayout(LinearLayout.java:1582) at com.google.android.material.appbar.AppBarLayout.onLayout(AppBarLayout.java:489) at android.view.View.layout(View.java:23143) at android.view.ViewGroup.layout(ViewGroup.java:6412) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673) at android.widget.LinearLayout.onLayout(LinearLayout.java:1582) at android.view.View.layout(View.java:23143) at android.view.ViewGroup.layout(ViewGroup.java:6412) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332) at android.widget.FrameLayout.onLayout(FrameLayout.java:270) at android.view.View.layout(View.java:23143) at android.view.ViewGroup.layout(ViewGroup.java:6412) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332) at android.widget.FrameLayout.onLayout(FrameLayout.java:270) at android.view.View.layout(View.java:23143) at android.view.ViewGroup.layout(ViewGroup.java:6412) at androidx.constraintlayout.widget.ConstraintLayout.onLayout(ConstraintLayout.java:1873) at android.view.View.layout(View.java:23143) at android.view.ViewGroup.layout(ViewGroup.java:6412) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332) at android.widget.FrameLayout.onLayout(FrameLayout.java:270) at android.view.View.layout(View.java:23143) at android.view.ViewGroup.layout(ViewGroup.java:6412) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673) at android.widget.LinearLayout.onLayout(LinearLayout.java:1582) at android.view.View.layout(View.java:23143) at android.view.ViewGroup.layout(ViewGroup.java:6412) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332) at android.widget.FrameLayout.onLayout(FrameLayout.java:270) at android.view.View.layout(View.java:23143) at android.view.ViewGroup.layout(ViewGroup.java:6412) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673) at android.widget.LinearLayout.onLayout(LinearLayout.java:1582) E/CalendarView: at android.view.View.layout(View.java:23143) at android.view.ViewGroup.layout(ViewGroup.java:6412) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332) at android.widget.FrameLayout.onLayout(FrameLayout.java:270) at com.android.internal.policy.DecorView.onLayout(DecorView.java:798) at android.view.View.layout(View.java:23143) at android.view.ViewGroup.layout(ViewGroup.java:6412) at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:3684) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3143) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2126) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8653) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1037) at android.view.Choreographer.doCallbacks(Choreographer.java:845) at android.view.Choreographer.doFrame(Choreographer.java:780) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1022) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.app.ActivityThread.main(ActivityThread.java:7839) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003) Caused by: java.lang.ClassNotFoundException: Didn't find class "0" on path: DexPathList[[dex file "/data/data/com.android.todozen/code_cache/.overlay/base.apk/classes20.dex", zip file "/data/app/w-oR-VZtP6-gstnT8n35hA==/com.android.todozen-OQ5cZ_3BV4Oox4AGWhhiiQ==/base.apk"],nativeLibraryDirectories=[/data/app/w-oR-VZtP6-gstnT8n35hA==/com.android.todozen-OQ5cZ_3BV4Oox4AGWhhiiQ==/lib/x86_64, /system/lib64, /system_ext/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:218) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) ... 80 more

Additional information

I use Kotlin Multiplatform

KlassenAI commented 1 year ago

I have found some new info. The error belongs to this part of code in Utils.kt: image

KlassenAI commented 1 year ago

Also, if you remove this line, error will not happen. I don't know why, but maybe it will help someone. image

kizitonwose commented 1 year ago

This issue was fixed in 2.1.1, please update the library.