gpt4 book ai didi

Android 无法序列化 Kotlin lambda

转载 作者:行者123 更新时间:2023-11-30 04:58:52 25 4
gpt4 key购买 nike

我们可以看到 lambda 函数默认是序列化的(https://discuss.kotlinlang.org/t/are-closures-serializable/1620),
但我收到错误:

java.lang.RuntimeException: Parcelable encountered IOException writing serializable object (name = com.example.dialogfragment.Arguments)

我的类(class)参数:

class Arguments(val function: ()-> Unit) : Serializable

我的 lambda 有什么问题?
(当 Android 由于内存不足而需要杀死我的 fragment 时,我得到了这个错误:))

最佳答案

如果您想序列化或打包某些内容,您需要确保每个字段都是可序列化或可打包的。在您的情况下,您正在尝试序列化不可序列化的 val function: ()-> Unit 。不幸的是,您不能使函数可序列化。你应该重新考虑这个参数类并传递一些不同的东西。可能你可以获得一些参数来做出决定,然后在你的 fragment 中调用一个函数。

关于Android 无法序列化 Kotlin lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58599594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com