我正在传递 lamda 函数并穿上捆绑包并像下面这样导航它;
val bundle = bundleOf().apply {
putParcelable("loadProfilResim",ProfilResimListener(loadProfilResimLambda))
}
findNavController().navigate(R.id.resimSecBottomSheetDialogFragment,bundle)
这是我的 Parcelize 类,其中包括 lamda func。
@Parcelize
class ProfilResimListener(val loadProfilResimLambda: (uri:Uri) -> Unit):Parcelable{
fun onLoad(uri:Uri) = loadProfilResimLambda(uri)
}
我可以从我的对话框片段中获取这个 lambda 参数。我也可以在用 cameraX 拍照后调用这个 lambda。但是当我想从媒体存储中选择一张照片时,一旦我收到这个错误。
java.lang.RuntimeException: Parcelable encountered IOException writing serializable object (name = com.mesutemre.kutuphanem.auth.profil.ui.ProfilIslemFragment$loadProfilResimLambda$1)
startActivityForResult 方法出现这个错误的原因是什么?如何解决这个问题?