从drawable文件夹中获取顺序文件名

时间:2014-11-15 07:04:56

标签: android loops drawable

我正在编写一个应用程序,其中使用200多个图像放置在drawable文件夹中,所有这些文件遵循相同的命名约定thumb+X

要阅读/显示这些文件,一种方法是按照R.drawable.XXX选择每个可绘制文件。

有没有办法使用循环或其他东西读取这些文件名。所以无论在drawable中更新多少文件,都不需要触摸源文件。

任何建议!

2 个答案:

答案 0 :(得分:1)

您可以使用以下函数首先获取资源ID,如下所示:

int resource_id=getResources().getIdentifier("thumb"+x, "drawable", getPackageName());

假设您在Activity内(getResources / getPackageName是Activity方法)

然后如果您需要Drawable

Drawable myDrawable=getResources().getDrawable (resource_id);

请注意,按名称访问drawable的速度较慢,您不应滥用此方法。

答案 1 :(得分:0)

非常简单,首先要创建一个类似于字符串的值。

String name= "R.drawable.thumb";

现在循环播放

for(int i=1;i<=200;i++){
    String resource = name + i;
    try {
        Class c = Drawable.class;
        Field idField = c.getDeclaredField(resource);
        int resourceDrwable = idField.getInt(idField);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

完成。

另一种方式是

int resourceId=Resources.getSystem().getIdentifier(pDrawableName, "drawable", "android");