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