我有一个 A 类型的自定义对象和一个包含 B 类型的自定义对象的 ArrayList,我想将它们存储在与 gson 的共享首选项中。对象 A 工作没有问题,但当我尝试存储对象 B 的列表甚至只是 B 的一个实例时,会出现以下错误消息:
\n\n2019-01-07 13:05:21.610 28295-28295/com.example.aev.quizzle E/AndroidRuntime: FATAL EXCEPTION: main\nProcess: com.example.aev.quizzle, PID: 28295\njava.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.aev.quizzle/com.example.aev.quizzle.activities.MapsActivity}: java.lang.IllegalArgumentException: class android.content.res.ColorStateList declares multiple JSON fields named mChangingConfigurations\n at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3194)\n at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3302)\n at android.app.ActivityThread.-wrap12(Unknown Source:0)\n at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1891)\n at android.os.Handler.dispatchMessage(Handler.java:108)\n at android.os.Looper.loop(Looper.java:166)\n at android.app.ActivityThread.main(ActivityThread.java:7425)\n at java.lang.reflect.Method.invoke(Native Method)\n at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)\n at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)\n Caused by: java.lang.IllegalArgumentException: class android.content.res.ColorStateList declares multiple JSON fields named mChangingConfigurations\n at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:172)\n at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:102)\n at com.google.gson.Gson.getAdapter(Gson.java:458)\n at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:117)\n …Run Code Online (Sandbox Code Playgroud)