44、android.os.Parcelable[] cannot be cast to… Error

本文详细解析了在使用Intant传值时,传递Parcelable对象(包含列表)出现的ClassCastException错误,提供了具体的解决方法,包括如何正确读写类型化数组。

一、背景
在使用Intant传值时,传递一个实现Parcelable 对象(包含一个列表)时,报出下面的错误:

 Caused by: java.lang.ClassCastException: android.os.Parcelable[] cannot be cast to com.taoche.check.business.videoreport.config.VideoReportBaseUIConfig$ExceptionItem[]
        at com.taoche.check.business.videoreport.config.VideoReportBaseUIConfig$CheckItem.<init>(VideoReportBaseUIConfig.kt:337)
        at com.taoche.check.business.videoreport.config.VideoReportBaseUIConfig$CheckItem$Companion$CREATOR$1.createFromParcel(VideoReportBaseUIConfig.kt:359)
        at com.taoche.check.business.videoreport.config.VideoReportBaseUIConfig$CheckItem$Companion$CREATOR$1.createFromParcel(VideoReportBaseUIConfig.kt:358)
        at android.os.Parcel.readParcelable(Parcel.java:2471)
        at android.os.Parcel.readValue(Parcel.java:2365)
        at android.os.Parcel.readArrayMapInternal(Parcel.java:2732)
        at android.os.BaseBundle.unparcel(BaseBundle.java:271)
        at android.os.Bundle.getParcelable(Bundle.java:864)
        at android.content.Intent.getParcelableExtra(Intent.java:6281)
        at com.taoche.check.business.condition.NewExceptionActivity.onCreate(NewExceptionActivity.kt:44)

在这里插入图片描述

二、解决方法

 	source.createTypedArray(ExceptionItem.CREATOR) as Array<ExceptionItem>,
    //source.readParcelableArray(ExceptionItem::class.java.classLoader) as Array<ExceptionItem>,

    writeTypedArray(exceptionItems, flags);
   //writeParcelableArray(exceptionItems, 0)
   

解决方法 参考链接:
具体原因 参考链接

アプリがクラッシュしました java.lang.ClassCastException: jp.or.jaf.syg.core.common.base.JafNavData cannot be cast to jp.or.jaf.syg.feature.jafrsho41.jafrsho41010.JAFRSHO41010Model at jp.or.jaf.syg.feature.jafrsho41.navigation.JAFRSHO41NavigationKt$jafrsho41$1.invoke(JAFRSHO41Navigation.kt:37) at jp.or.jaf.syg.feature.jafrsho41.navigation.JAFRSHO41NavigationKt$jafrsho41$1.invoke(JAFRSHO41Navigation.kt:36) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:118) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) at jp.or.jaf.syg.core.ui.components.dialog.NavGraphBuilderExtensionsKt$jafComposable$2.invoke(NavGraphBuilderExtensions.kt:191) at jp.or.jaf.syg.core.ui.components.dialog.NavGraphBuilderExtensionsKt$jafComposable$2.invoke(NavGraphBuilderExtensions.kt:187) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:139) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) at androidx.navigation.compose.NavHostKt$NavHost$32$1.invoke(NavHost.kt:703) at androidx.navigation.compose.NavHostKt$NavHost$32$1.invoke(NavHost.kt:702) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:401) at androidx.compose.runtime.saveable.SaveableStateHolderImpl.SaveableStateProvider(SaveableStateHolder.kt:85) at androidx.navigation.compose.NavBackStackEntryProviderKt.SaveableStateProvider(NavBackStackEntryProvider.kt:69) at androidx.navigation.compose.NavBackStackEntryProviderKt.access$SaveableStateProvider(NavBackStackEntryProvider.kt:1) at androidx.navigation.compose.NavBackStackEntryProviderKt$LocalOwnersProvider$1.invoke(NavBackStackEntryProvider.kt:56) at androidx.navigation.compose.NavBackStackEntryProviderKt$LocalOwnersProvider$1.invoke(NavBackStackEntryProvider.kt:55) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:380) at androidx.navigation.compose.NavBackStackEntryProviderKt.LocalOwnersProvider(NavBackStackEntryProvider.kt:51) at androidx.navigation.compose.NavHostKt$NavHost$32.invoke(NavHost.kt:702) at androidx.navigation.compose.NavHostKt$NavHost$32.invoke(NavHost.kt:682) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:139) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) at androidx.compose.animation.AnimatedContentKt$AnimatedContent$6$1$5.invoke(AnimatedContent.kt:803) at androidx.compose.animation.AnimatedContentKt$AnimatedContent$6$1$5.invoke(AnimatedContent.kt:792) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:118) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) at androidx.compose.animation.AnimatedVisibilityKt.AnimatedEnterExitImpl(AnimatedVisibility.kt:771) at androidx.compose.animation.AnimatedContentKt$AnimatedContent$6$1.invoke(AnimatedContent.kt:774) at androidx.compose.animation.AnimatedContentKt$AnimatedContent$6$1.invoke(AnimatedContent.kt:757) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) at androidx.compose.animation.AnimatedContentKt.AnimatedContent(AnimatedContent.kt:816) at androidx.navigation.compose.NavHostKt.NavHost(NavHost.kt:654) at androidx.navigation.compose.NavHostKt.NavHost$lambda$80(Unknown Source:25) 2025-09-27 15:35:48.391 15859-15859 CrashHandler jp.or.jaf.syg E at androidx.navigation.compose.NavHostKt.$r8$lambda$7ClW2Jn3MXjuytbJNUtxFpbxrgs(Unknown Source:0) at androidx.navigation.compose.NavHostKt$$ExternalSyntheticLambda23.invoke(D8$$SyntheticClass:0) at androidx.compose.runtime.RecomposeScopeImpl.compose(RecomposeScopeImpl.kt:192) at androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd(Composer.kt:2825) at androidx.compose.runtime.ComposerImpl.skipCurrentGroup(Composer.kt:3116) at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:3607) at androidx.compose.runtime.ComposerImpl.recompose$runtime_release(Composer.kt:3552) at androidx.compose.runtime.CompositionImpl.recompose(Composition.kt:948) at androidx.compose.runtime.Recomposer.performRecompose(Recomposer.kt:1206) at androidx.compose.runtime.Recomposer.access$performRecompose(Recomposer.kt:132) at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$1.invoke(Recomposer.kt:616) at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$1.invoke(Recomposer.kt:585) at androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame(AndroidUiFrameClock.android.kt:41) at androidx.compose.ui.platform.AndroidUiDispatcher.performFrameDispatch(AndroidUiDispatcher.android.kt:109) at androidx.compose.ui.platform.AndroidUiDispatcher.access$performFrameDispatch(AndroidUiDispatcher.android.kt:41) at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame(AndroidUiDispatcher.android.kt:69) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1404) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1415) at android.view.Choreographer.doCallbacks(Choreographer.java:1015) at android.view.Choreographer.doFrame(Choreographer.java:941) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1389) at android.os.Handler.handleCallback(Handler.java:959) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loopOnce(Looper.java:232) at android.os.Looper.loop(Looper.java:317) at android.app.ActivityThread.main(ActivityThread.java:8705) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:886) Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [androidx.compose.runtime.PausableMonotonicFrameClock@a8effe2, androidx.compose.ui.platform.MotionDurationScaleImpl@ba5ff73, StandaloneCoroutine{Cancelling}@f74fe30, AndroidUiDispatcher@3630aa9] 2025-09-27 15:35:48.397 15859-15859 AndroidRuntime jp.or.jaf.syg E FATAL EXCEPTION: main Process: jp.or.jaf.syg, PID: 15859 java.lang.ClassCastException: jp.or.jaf.syg.core.common.base.JafNavData cannot be cast to jp.or.jaf.syg.feature.jafrsho41.jafrsho41010.JAFRSHO41010Model at jp.or.jaf.syg.feature.jafrsho41.navigation.JAFRSHO41NavigationKt$jafrsho41$1.invoke(JAFRSHO41Navigation.kt:37) at jp.or.jaf.syg.feature.jafrsho41.navigation.JAFRSHO41NavigationKt$jafrsho41$1.invoke(JAFRSHO41Navigation.kt:36) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:118) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) at jp.or.jaf.syg.core.ui.components.dialog.NavGraphBuilderExtensionsKt$jafComposable$2.invoke(NavGraphBuilderExtensions.kt:191) at jp.or.jaf.syg.core.ui.components.dialog.NavGraphBuilderExtensionsKt$jafComposable$2.invoke(NavGraphBuilderExtensions.kt:187) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:139) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) at androidx.navigation.compose.NavHostKt$NavHost$32$1.invoke(NavHost.kt:703) at androidx.navigation.compose.NavHostKt$NavHost$32$1.invoke(NavHost.kt:702) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:401) at androidx.compose.runtime.saveable.SaveableStateHolderImpl.SaveableStateProvider(SaveableStateHolder.kt:85) at androidx.navigation.compose.NavBackStackEntryProviderKt.SaveableStateProvider(NavBackStackEntryProvider.kt:69) at androidx.navigation.compose.NavBackStackEntryProviderKt.access$SaveableStateProvider(NavBackStackEntryProvider.kt:1) at androidx.navigation.compose.NavBackStackEntryProviderKt$LocalOwnersProvider$1.invoke(NavBackStackEntryProvider.kt:56) at androidx.navigation.compose.NavBackStackEntryProviderKt$LocalOwnersProvider$1.invoke(NavBackStackEntryProvider.kt:55) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:380) at androidx.navigation.compose.NavBackStackEntryProviderKt.LocalOwnersProvider(NavBackStackEntryProvider.kt:51) at androidx.navigation.compose.NavHostKt$NavHost$32.invoke(NavHost.kt:702) at androidx.navigation.compose.NavHostKt$NavHost$32.invoke(NavHost.kt:682) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:139) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) at androidx.compose.animation.AnimatedContentKt$AnimatedContent$6$1$5.invoke(AnimatedContent.kt:803) at androidx.compose.animation.AnimatedContentKt$AnimatedContent$6$1$5.invoke(AnimatedContent.kt:792) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:118) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) at androidx.compose.animation.AnimatedVisibilityKt.AnimatedEnterExitImpl(AnimatedVisibility.kt:771) at androidx.compose.animation.AnimatedContentKt$AnimatedContent$6$1.invoke(AnimatedContent.kt:774) at androidx.compose.animation.AnimatedContentKt$AnimatedContent$6$1.invoke(AnimatedContent.kt:757) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) at androidx.compose.animation.AnimatedContentKt.AnimatedContent(AnimatedContent.kt:816) at androidx.navigation.compose.NavHostKt.NavHost(NavHost.kt:654) at androidx.navigation.compose.NavHostKt.NavHost$lambda$80(Unknown Source:25) 2025-09-27 15:35:48.399 15859-15859 AndroidRuntime jp.or.jaf.syg E at androidx.navigation.compose.NavHostKt.$r8$lambda$7ClW2Jn3MXjuytbJNUtxFpbxrgs(Unknown Source:0) at androidx.navigation.compose.NavHostKt$$ExternalSyntheticLambda23.invoke(D8$$SyntheticClass:0) at androidx.compose.runtime.RecomposeScopeImpl.compose(RecomposeScopeImpl.kt:192) at androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd(Composer.kt:2825) at androidx.compose.runtime.ComposerImpl.skipCurrentGroup(Composer.kt:3116) at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:3607) at androidx.compose.runtime.ComposerImpl.recompose$runtime_release(Composer.kt:3552) at androidx.compose.runtime.CompositionImpl.recompose(Composition.kt:948) at androidx.compose.runtime.Recomposer.performRecompose(Recomposer.kt:1206) at androidx.compose.runtime.Recomposer.access$performRecompose(Recomposer.kt:132) at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$1.invoke(Recomposer.kt:616) at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$1.invoke(Recomposer.kt:585) at androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame(AndroidUiFrameClock.android.kt:41) at androidx.compose.ui.platform.AndroidUiDispatcher.performFrameDispatch(AndroidUiDispatcher.android.kt:109) at androidx.compose.ui.platform.AndroidUiDispatcher.access$performFrameDispatch(AndroidUiDispatcher.android.kt:41) at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame(AndroidUiDispatcher.android.kt:69) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1404) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1415) at android.view.Choreographer.doCallbacks(Choreographer.java:1015) at android.view.Choreographer.doFrame(Choreographer.java:941) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1389) at android.os.Handler.handleCallback(Handler.java:959) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loopOnce(Looper.java:232) at android.os.Looper.loop(Looper.java:317) at android.app.ActivityThread.main(ActivityThread.java:8705) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:886) Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [androidx.compose.runtime.PausableMonotonicFrameClock@a8effe2, androidx.compose.ui.platform.MotionDurationScaleImpl@ba5ff73, StandaloneCoroutine{Cancelling}@f74fe30, AndroidUiDispatcher@3630aa9] 上面这个错误是什么意思,应该怎么解决?
最新发布
09-28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值