NoSuchMethodError在Kotlin中使用@Parcelize注释
我目前正在尝试实验(这可能是为什么它不工作…) @Parcelize
注释生成@Parcelize
代码。 大多数类型似乎工作正常,但我有问题的Serializable
抛出一个NoSuchMethodError
:
10-05 13:55:18.549 20808-20808/com.app E/AndroidRuntime: FATAL EXCEPTION: main Process: com.app, PID: 20808 java.lang.NoSuchMethodError: No virtual method writeSerializable(Ljava/util/Date;)V in class Landroid/os/Parcel; or its super classes (declaration of 'android.os.Parcel' appears in /system/framework/framework.jar) at com.app.models.Job.writeToParcel(Job.kt) at android.os.Parcel.writeParcelable(Parcel.java:1496) at android.os.Parcel.writeValue(Parcel.java:1402) at android.os.Parcel.writeArrayMapInternal(Parcel.java:724) at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1408) at android.os.Bundle.writeToParcel(Bundle.java:1157) at android.os.Parcel.writeBundle(Parcel.java:764) at android.content.Intent.writeToParcel(Intent.java:8687) at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:3082) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1518) at android.app.Activity.startActivityForResult(Activity.java:4225) at android.support.v4.app.BaseFragmentActivityApi16.startActivityForResult(BaseFragmentActivityApi16.java:54) at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:65) at android.app.Activity.startActivityForResult(Activity.java:4183) at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:711) at android.app.Activity.startActivity(Activity.java:4522) at android.app.Activity.startActivity(Activity.java:4490)
我知道我可以通过将Date对象更改为Strings来解决这个问题,但宁愿不要。 有没有其他人遇到这个问题,可以提供一个可行的解决方案,而不是使用字符串?
如果需要的话,可以参考下面的实现:
@Parcelize data class Job(val id: String, val description: String, val state: String, val job_type: String?, val close_on: Date?, val posted_on: Date?) : Parcelable
没有找到任何东西,所以而不是删除,我会留在这里作为参考任何人遇到它。 它看起来像被记录为影响1.1.4和1.1.50的错误 。 (我正在使用1.1.4)。
看起来版本1.1.6及以上版本已经修复。
- Android中的ViewModelProviderFactory在kotlin中
- ClassMapper:aBooleanType没有设置者/字段
- Android中的与Kotlin的AsyncTask
- 为什么使用DrawerLayout给IllegalArgumentException:DrawerLayout必须用MeasureSpec.EXACTLY
- Android中的Kotlin协程的使用
- 找不到kotlin-reflect.jar(org.jetbrains.kotlin:kotlin-reflect:1.1.3-2)
- 定义null局部变量时需要没有错误,稍后在方法中进行设置
- 在kotlin的片段
- 与RxKotlin获取NetworkOnMainThreadException