0

我正在传递 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 方法出现这个错误的原因是什么?如何解决这个问题?

4

0 回答 0