SetImageDrawable

时间:2012-07-16 23:54:36

标签: android imageview

有人可以帮忙解决这个问题。我正在生成一个随机数,并根据这个随机数我想从我的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语法有问题。当我运行我的应用程序时,它会崩溃。

2 个答案:

答案 0 :(得分: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);

    }

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

答案 1 :(得分:2)

我使用以下方法解决了这个问题:

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

    image.setImageResource(id);