You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter桌面Widget编译报错:整数字面量不符合Float类型预期

问题解决:Kotlin获取Flutter Widget数据时编译错误

错误原因

你在Kotlin代码里调用widgetData.getFloat("yearsLeft", 0)时,第二个参数传的0是Int类型字面量,但getFloat方法要求第二个参数必须是Float类型,Kotlin不允许隐式将Int转换为Float,所以触发编译错误。

另外补充:Flutter端你存储的是double类型数值,Kotlin里Double和Flutter的double是对应匹配的类型,用getDouble会更贴合原数据类型。

修复方案

方案1:修正默认值为Float类型

把默认值从0改成0.0f(Float类型的字面量):

val yearsLeft = widgetData.getFloat("yearsLeft", 0.0f)

方案2:改用getDouble方法(更推荐)

因为Flutter端存储的是double类型,直接用getDouble获取,默认值也用Double类型的0.0:

val yearsLeft = widgetData.getDouble("yearsLeft", 0.0)

验证说明

修改后重新编译Kotlin代码,app:compileDebugKotlin任务就能正常执行,同时能正确获取Flutter端传递的yearsLeft数值。

内容的提问来源于stack exchange,提问作者Aaron

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 14:20:31