gpt4 book ai didi

java - 将字符串解析为资源名称

转载 作者:行者123 更新时间:2023-12-01 23:17:35 26 4
gpt4 key购买 nike

我的 /res 文件夹中有图像资源,例如拇指。现在,我有 30 个拇指,我现在启动数组的操作是:

Drawable[] thumbs = new Drawable[30];
thumbs[0] = context.getResources().getDrawable(R.drawable.thumb_01);
thumbs[1] = context.getResources().getDrawable(R.drawable.thumb_02);
thumbs[2] = context.getResources().getDrawable(R.drawable.thumb_03);
//this way 27 times more

有没有办法以某种方式循环这个而不创建一个长数组?

最佳答案

我希望我正确理解你的问题。如果是这样,我正在开发的应用程序中也有非常相似的情况。您可以做的是声明一个 Drawable 数组,并在循环访问资源中的每个“拇指”时将每个新的 Drawable 添加到该数组中。我认为拇指的数量是有限的,因为您是从资源中检索它们的。如果是这种情况,您还可以在包含拇指的文件中指定有多少个拇指。

//assume you assign the number of thumbs to integer 'R.integer.numberofthumbs'
int numberOfThumbs = context.getResources().getInteger(R.integer.numberofthumbs);
Drawable[] thumbs = new Drawable[numberOfThumbs];

for(int i = 0; i < numberOfThumbs; i++){
thumbs[i]= getResources().getDrawable(getResources().getIdentifier("thumb_" + i, "drawable", getPackageName()));
}

这本质上是我在代码中使用的方法,并且效果很好。由于 for 循环中的命名,标有 10 以下数字的拇指必须没有前导零。但是,可以轻松更改它以适合您当前的命名方法。希望我没有离得太远,这确实有帮助。

干杯

关于java - 将字符串解析为资源名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20983935/

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