从可绘制文件夹获取顺序文件名



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

要读取/显示这些文件,一种方法是通过以下R.drawable.XXX选择每个可绘制文件。

有没有办法使用循环或其他东西读取这些文件名..因此,无论它将在可绘制对象中更新多少文件,都无需触摸源文件。

任何建议!

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

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

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

然后,如果您需要Drawable

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

请注意,按名称访问可绘制对象的速度较慢,因此不应滥用此方法。

非常简单,

首先创建一个字符串值。

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");

最新更新