java.lang.reflect.undeclared_我的世界无法启动java

(12) 2024-10-06 17:01:01

在调试SharedPreferences的代码中,有时候会将原先存储的string类型转换成其他类型,这个时候就会报错:

 STACK_TRACE=java.lang.RuntimeException: Unable to resume activity {com.kingnet.gamecenter/com.kingnet.gamecenter.activity.SettingActivity}: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Boolean at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2790) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2819) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2266) at android.app.ActivityThread.access$600(ActivityThread.java:141) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5103) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:525) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Boolean at android.app.SharedPreferencesImpl.getBoolean(SharedPreferencesImpl.java:261) at com.kingnet.gamecenter.store.SharedStore.getBoolean(SharedStore.java:178)

这个时候应该卸载掉你的程序,然后重新运行就可以了。

原因:

调试程序的时候,程序仅仅是重复安装,没有清空程序原先的存储,就是说SharedPreferences 里面存储的还是你原来的值,现在你要修改为新的类型,这样就出现了这个异常

THE END

发表回复