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

Kotlin Android Lottie加载assets下JSON动画setAnimation标红报错

报错原因

编译器报红的核心原因是 参数类型不匹配:
assets.open("failanimation.json")的返回值是InputStream类型,但Lottie的LottieAnimationView的setAnimation方法没有定义接收InputStream入参的重载版本,自然无法通过编译。
setAnimation常用的合法入参类型只有这几类:

  • raw目录下的动画资源ID(Int类型)
  • assets目录内的动画文件名(String类型)
  • 预加载完成的LottieComposition实例
  • 用于解析json的JsonReader实例
修复方法

加载assets目录下的Lottie json文件不需要手动调用assets.open打开文件流,直接把文件名作为参数传入setAnimation即可,Lottie内部会自动完成assets文件的读取、解析逻辑,修正后的代码:

binding.animationView.setAnimation("failanimation.json")

如果你的Lottie版本较旧不支持直接传assets文件名,可以先把输入流转为字符串再调用setAnimationFromJson方法加载,但绝大多数主流Lottie版本都支持直接传文件名的最简写法。

额外提醒:传入的文件名需要和assets目录下的实际文件名完全一致(包括后缀、大小写),否则运行时会抛出文件不存在异常。

内容的提问来源于stack exchange,提问作者GHULAM JILANI JANJUA

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 21:45:44