gpt4 book ai didi

java - 如何在 Eclipse for Android 中将变量随机传递给 R.drawable?

转载 作者:搜寻专家 更新时间:2023-11-01 08:58:08 25 4
gpt4 key购买 nike

我试图从我的可绘制文件夹中获取随机图像,并将其设置在 ImageView 中。所有图像都以“kitten”开头,后面跟着一个数字,从 1 到 17,它被硬编码到变量“kittensMax”中。当我运行我的代码时,它会在此处的第三行抛出 NumberFormatException。我认为问题在于“R.drawable.kitten#”不是一个可以“解析”为 int 的数字,因为它代表一个 int。有什么建议吗?

Random r = new Random();
String drawableKitten = "R.drawable.kitten" + r.nextInt(kittensMax);
kittensImageView.setImageResource(Integer.parseInt(drawableKitten));

最佳答案

尝试这样的事情:

int resID = getResources().getIdentifier("kitten" + r.nextInt(kittensMax), "drawable", getPackageName());

这使用了 Resources 类中的一个方法,该方法允许您使用资源的名称、类型和包名称来查找资源的 ID。可以看文档here .

对于其他类型或资源,如 idstringraw 等,它的工作方式类似。只需更改第二个参数以反射(reflect)类型你想要的资源。

关于java - 如何在 Eclipse for Android 中将变量随机传递给 R.drawable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17376371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com