如何从drawable文件夹动态获取图像

Goo*_*ofy 47 android drawable android-resources

我有这样的数组.

int image[] = {R.drawable.d002_p001,R.drawable.d002_p002,R.drawable.d002_p003,
                   R.drawable.d002_p004,R.drawable.d002_p005,R.drawable.d002_p006};
Run Code Online (Sandbox Code Playgroud)

现在我有6张图片,所以我静静地给出了这个名字.

如果我有50个图像,我不能给出数组中的每个文件名,所以它需要是动态的,我怎么能实现这一点.

Lal*_*ani 113

您可以使用 getIdentifier()

for (int j = 1; j < 6; j++) {
   Drawable drawable = getResources().getDrawable(getResources()
                  .getIdentifier("d002_p00"+j, "drawable", getPackageName()));
}
Run Code Online (Sandbox Code Playgroud)


Sun*_*har 13

你也可以用这个:

int res = getResources().getIdentifier("<your pakecgename>:drawable/abc", null, null);
Run Code Online (Sandbox Code Playgroud)


ble*_*enm 8

像这样的东西可以工作

Field[] drawables = android.R.drawable.class.getFields();
for (Field f : drawables) {
    try {
        System.out.println("R.drawable." + f.getName());
    } catch (Exception e) {
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)


SAM*_*AMD 5

使用以下行动态获取可绘制对象:

Drawable drawable = this.getResources().getDrawable(R.drawable.yourDrawableID);
Run Code Online (Sandbox Code Playgroud)

这将为您提供所需的 Drawable。