无法在 ViewModel 中的 Intent 中添加额外内容

Posted

技术标签:

【中文标题】无法在 ViewModel 中的 Intent 中添加额外内容【英文标题】:Can't putExtra in Intent in ViewModel 【发布时间】:2021-12-17 18:24:52 【问题描述】:

我正在尝试在 ViewModel 中执行 putExtra,但出现此错误:

以下函数均不能使用提供的参数调用。

这是我的代码:

   val intent = Intent(context, MyService::class.java)
   intent.action = MyService.ACTION_ONE
   intent.putExtra("data", mydata)
   ContextCompat.startForegroundService(context, intent)

为什么我不能putExtra

【问题讨论】:

显然,mydata 不是一个可以进入额外Intent 的数据类型。 mydata 是什么? mydata 是 LiveData 【参考方案1】:

您不能将LiveData<Int> 传递给Intent 额外。如果需要,您可以将当前的 Int 值 (mydata.value) 作为额外的 Intent 传递。

【讨论】:

以上是关于无法在 ViewModel 中的 Intent 中添加额外内容的主要内容,如果未能解决你的问题,请参考以下文章

无法从 onActivityReenter 中的 Intent 读取 Parcelable

KnockoutJS 中的 ViewModel 无法访问全局变量

无法使用数据绑定Android与ViewModel中的XML通信

Xamarin iOS - MVVMCross:无法使用 ViewModel 中的命令连接自定义单元格中的按钮

Android MVI 模式的简单实现(基于kotlin FLow 和 ViewModel)

无法通过使用 Volley 库中的 Intent 从片段中移动下一个 Activity