0

我来到这里是因为我在互联网上没有找到任何解决方案。

我在我的drawable文件夹中添加了一些图片。

这些图片是这样命名的:

R.drawable.item_1
R.drawable.item_2
...

我想创建一种将所有图片加载到数组中的方法,但我不知道从哪里开始。

谢谢你的帮助!

4

3 回答 3

0

我认为没有办法做到这一点。

相反,您可以使用 switch-case 或 if-else 语句,如下所示:

    if(var.toString().equals("item_1")) 
        drawable = getResources().getDrawable(R.drawable.item_1);
    else if(var.toString().equals("item_2")) 
        drawable = getResources().getDrawable(R.drawable.item_2);
    ...
于 2013-11-04T17:36:18.957 回答
0

如果这可以帮助其他人,我已经解决了我的问题

Field[] fields = R.drawable.class.getFields();
private int[] mImageIds = new int[50];


    mContext = c;

    for (Field field : fields) {
        if (field.getName().contains("item_")) {
            try {
                mImageIds[i] = mContext.getResources().getIdentifier(field.getName(), "drawable", mContext.getPackageName());
            } catch (Exception e) {
                e.printStackTrace();
            }
            i++;
        }
于 2013-11-05T12:03:59.703 回答
0

您可以将图片放入数组中,如下所示:

Resources res=c.getResources();     
int[] images={R.drawable.item_1, R.drawable.item_2, R.drawable.item_3};
于 2013-11-04T17:38:11.060 回答