创建日历应用时出错。 java.lang.ClassNotFoundException:没找到类

时间:2018-05-24 11:03:50

标签: android

我正在尝试为Android实现日历应用。我正在学习本教程。我收到以下错误。请指教。一切似乎都是正确的,但我似乎无法弄清楚为什么我的应用程序抛出此错误。

https://inducesmile.com/android/how-to-create-android-custom-calendar-view-with-events/#

 05-24 16:07:41.992 5680-5680/? E/Zygote: v2
05-24 16:07:42.002 5680-5680/? E/Zygote: accessInfo : 0
05-24 16:07:46.212 5680-5680/com.ofcofc E/UncaughtException: android.view.InflateException: Binary XML file line #9: Binary XML file line #9: Error inflating class com.inducesmile.androidcustomcalendar.CalendarCustomView
        at android.view.LayoutInflater.inflate(LayoutInflater.java:551)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:429)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:380)
        at com.ofcofc.CalendarActivity.onCreateView(CalendarActivity.java:16)
        at android.app.Fragment.performCreateView(Fragment.java:2281)
        at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:983)
        at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1163)
        at android.app.BackStackRecord.run(BackStackRecord.java:793)
        at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1552)
        at android.app.FragmentManagerImpl$1.run(FragmentManager.java:487)
        at android.os.Handler.handleCallback(Handler.java:739)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:158)
        at android.app.ActivityThread.main(ActivityThread.java:7225)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
     Caused by: android.view.InflateException: Binary XML file line #9: Error inflating class com.inducesmile.androidcustomcalendar.CalendarCustomView
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:788)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:847)
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:527)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:429) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:380) 
        at com.technobyteinfoservices.ofcofc.CalendarActivity.onCreateView(CalendarActivity.java:16) 
        at android.app.Fragment.performCreateView(Fragment.java:2281) 
        at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:983) 
        at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1163) 
        at android.app.BackStackRecord.run(BackStackRecord.java:793) 
        at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1552) 
        at android.app.FragmentManagerImpl$1.run(FragmentManager.java:487) 
        at android.os.Handler.handleCallback(Handler.java:739) 
        at android.os.Handler.dispatchMessage(Handler.java:95) 
        at android.os.Looper.loop(Looper.java:158) 
        at android.app.ActivityThread.main(ActivityThread.java:7225) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.inducesmile.androidcustomcalendar.CalendarCustomView" on path: DexPathList[[zip file "/data/app/com.technobyteinfoservices.ofcofc-2/base.apk"],nativeLibraryDirectories=[/data/app/com.ofcofc-2/lib/arm, /vendor/lib, /system/lib]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
        at android.view.LayoutInflater.createView(LayoutInflater.java:595)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716) 
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:847) 
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:527) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:429) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:380) 
        at com.ofcofc.CalendarActivity.onCreateView(CalendarActivity.java:16) 
        at android.app.Fragment.performCreateView(Fragment.java:2281) 
        at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:983) 
        at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1163) 
        at android.app.BackStackRecord.run(BackStackRecord.java:793) 
        at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1552) 
        at android.app.FragmentManagerImpl$1.run(FragmentManager.java:487) 
        at android.os.Handler.handleCallback(Handler.java:739) 
        at android.os.Handler.dispatchMessage(Handler.java:95) 
        at android.os.Looper.loop(Looper.java:158) 
        at android.app.ActivityThread.main(ActivityThread.java:7225) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 
        Suppressed: java.lang.ClassNotFoundException: com.inducesmile.androidcustomcalendar.CalendarCustomView
        at java.lang.Class.classForName(Native Method)
        at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
        at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
                ... 23 more
     Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
05-24 16:07:46.652 5680-5680/com.technobyteinfoservices.ofcofc E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.technobyteinfoservices.ofcofc, PID: 5680
    android.view.InflateException: Binary XML file line #9: Binary XML file line #9: Error inflating class com.inducesmile.androidcustomcalendar.CalendarCustomView
        at android.view.LayoutInflater.inflate(LayoutInflater.java:551)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:429)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:380)
        at com.technobyteinfoservices.ofcofc.CalendarActivity.onCreateView(CalendarActivity.java:16)
        at android.app.Fragment.performCreateView(Fragment.java:2281)
        at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:983)
        at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1163)
        at android.app.BackStackRecord.run(BackStackRecord.java:793)
        at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1552)
        at android.app.FragmentManagerImpl$1.run(FragmentManager.java:487)
        at android.os.Handler.handleCallback(Handler.java:739)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:158)
        at android.app.ActivityThread.main(ActivityThread.java:7225)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
     Caused by: android.view.InflateException: Binary XML file line #9: Error inflating class com.inducesmile.androidcustomcalendar.CalendarCustomView
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:788)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:847)
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:527)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:429) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:380) 
        at com.technobyteinfoservices.ofcofc.CalendarActivity.onCreateView(CalendarActivity.java:16) 
        at android.app.Fragment.performCreateView(Fragment.java:2281) 
        at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:983) 
        at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1163) 
        at android.app.BackStackRecord.run(BackStackRecord.java:793) 
        at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1552) 
        at android.app.FragmentManagerImpl$1.run(FragmentManager.java:487) 
        at android.os.Handler.handleCallback(Handler.java:739) 
        at android.os.Handler.dispatchMessage(Handler.java:95) 
        at android.os.Looper.loop(Looper.java:158) 
        at android.app.ActivityThread.main(ActivityThread.java:7225) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.inducesmile.androidcustomcalendar.CalendarCustomView" on path: DexPathList[[zip file "/data/app/com.technobyteinfoservices.ofcofc-2/base.apk"],nativeLibraryDirectories=[/data/app/com.technobyteinfoservices.ofcofc-2/lib/arm, /vendor/lib, /system/lib]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
        at android.view.LayoutInflater.createView(LayoutInflater.java:595)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716) 
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:847) 
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:527) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:429) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:380) 
        at com.technobyteinfoservices.ofcofc.CalendarActivity.onCreateView(CalendarActivity.java:16) 
        at android.app.Fragment.performCreateView(Fragment.java:2281) 
        at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:983) 
        at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1163) 
        at android.app.BackStackRecord.run(BackStackRecord.java:793) 
        at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1552) 
        at android.app.FragmentManagerImpl$1.run(FragmentManager.java:487) 
        at android.os.Handler.handleCallback(Handler.java:739) 
        at android.os.Handler.dispatchMessage(Handler.java:95) 
        at android.os.Looper.loop(Looper.java:158) 
        at android.app.ActivityThread.main(ActivityThread.java:7225) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 
        Suppressed: java.lang.ClassNotFoundException: com.inducesmile.androidcustomcalendar.CalendarCustomView
        at java.lang.Class.classForName(Native Method)
        at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
        at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
                ... 23 more
     Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available

1 个答案:

答案 0 :(得分:1)

这可能是因为文件路径错误,请确保使用应用程序的 applicationId + package path 用于CalendarCustomView类。

com.YourApp.yourPackage.CalendarCustomView

希望它有所帮助。