我成功地在一个新项目中使用了这个代码,但是,当在我的实际代码中复制它时,显示的图像不是很好,一切都做得很好(图像在可绘制的文件夹中,每个数据都声明得很好,......)图像以“phoXX”开头,其中 XX 是一个整数(介于 0 和 62 之间) R.java ...)
这是我的代码:
private Context mContext;
ImageView imageC=(ImageView)findViewById(R.id.imageView1);
TextView Tex=(TextView)findViewById(R.id.textView1);
Drawable drawableX = this.getResources().getDrawable(android.R.drawable.ic_dialog_alert);
Random random_monster = new Random();
int lerand = random_monster.nextInt(62);
int id = mContext.getResources().getIdentifier("drawable/pho"+lerand, "drawable",mContext.getPackageName());
if (id>0)
{
drawableX = getResources().getDrawable(id);
}
imageC.setImageDrawable(drawableX);
Tex.setText(Integer.toString(lerand)+":"+id);
因此,正如我所说,显示图像,显示数字,但 pho29 例如显示名为 pho48 的图像(如果您询问,pho48 不显示 pho29)ID 为 2130837535,即出现在 R.java 中:公共静态最终 int pho29=0x7f02001f; pho48 是:
公共静态最终 int pho48=0x7f020034;
对于某些数字,显示的图像是好的图像,对于其他数字,图像不是好的图像(并且对于相同的数字始终显示相同的图像....我的意思是对于 pho29,总是显示 pho48,在我的每一项活动中)
我真的不明白我想念什么......谢谢大家的帮助
编辑:在一些匹配的下方(左侧应显示的数字,右侧显示的数字)
2->6
17->32
19->34
24->41
43->43
51->51
36->55
37->56
38->57
56->56
59->59
61->61
如您所见,56 显示为 56 AND 37....