java - 如何在原始目录中调用多个动画之一
问题描述
我正在尝试使用随机数生成器在 10 个不同的动画之一之间进行选择,以使用 Lottie 实现运行。我将动画命名为animation1 到animation10。当直接输入这样的动画之一时没有问题:
animationView.setAnimation(R.raw.animation2);
但是当像这样输入它时应用程序不断崩溃:
LottieAnimationView animationView = findViewById(R.id.animationViewer);
randNumber = rand.nextInt(10) + 1;
animationView.setAnimation("R.raw.animation" + randNumber);
原因是:
Caused by: java.io.FileNotFoundException: R.raw.animation2
解决方案
您不能这样做,因为setAnimation()
需要 ResID 而不是字符串。
相反,您可以使用Array
这样的
<integer-array name="animations">
<item>@anim/animation1</item>
<item>@anim/animation2</item>
</integer-array>
然后,您可以使用您的随机数。
推荐阅读
- json - 使用 postgres 在 Django 中高效存储 Json
- r - 如何从R中的列表中为多个对象(但不是全部)中的特定列提供格式(在这种情况下为“毫秒”)
- c# - 如何共享扩展的自定义 SQL 代码分析规则 dll
- c++ - 从协程产生值时出错“错误:成员引用基类型'void'不是结构或联合”
- c# - 隐藏输入 Razor c# 中的错误值
- python-3.x - 如何从元素标签中不存在的xpath中提取字段?
- javascript - 停止滚动页面,滚动轮播
- c - char a[50][50] 在 C 中是什么意思?
- java - 按字段排序对象列表,如果为空,则按另一个字段
- c# - 全新安装时缺少 MonoDevelop 的系统命名空间