2

有人可以帮忙吗?我正在生成一个随机数,并基于这个随机数我想从我的 res/drawable-mdpi 文件夹中选择一个 png 文件来显示。这是我正在使用的代码:

    public void DisplayRandomPicture(int randomNumber) 
    {   
    String drawableName = "c"+ randomNumber;

    ImageView image= (ImageView)findViewById(R.id.imageView1);  
    image.setImageDrawable(getResources().getDrawable(getResources().getIdentifier(drawableName, "res/drawable-mdpi", getPackageName())));

    }

res/drawable-mdpi 文件夹中的所有文件都以“c”开头。image.setImageDrawable 语法有问题。当我运行我的应用程序时,它崩溃了。

4

2 回答 2

5
public void DisplayRandomPicture(int randomNumber) 
    {   
    String drawableName = "c"+ randomNumber;

    ImageView iw= (ImageView)findViewById(R.id.imageView1);  
    resID = getResources().getIdentifier(drawableName, "drawable",  getPackageName());
    iw.setImageResource(resID);

    }

在上面尝试并确保图像以确切的名称存在。

于 2012-07-17T00:04:25.107 回答
2

我通过使用解决了这个问题:

    int id = getBaseContext().getResources().getIdentifier(drawableName, "drawable", getPackageName());

    image.setImageResource(id);
于 2012-07-17T00:08:38.540 回答