我在一個新的項目使用此代碼成功,但是,在我的實際代碼複製時,顯示的圖像是不好一個 一切都是製作精良(圖片所在的文件夾繪製,每一個數據以及宣佈,...)與「phoXX」,其中XX是一個整數(0和62之間) 圖像開始我有一個ImageView的(命名imageView1)和一個TextView(調試,命名textView1),其中i顯示ID(在R.java檢查時,哪一個是好...)方法setImageDrawable(getResources()。getDrawable(XX))不顯示的良好形象
這裏是我的代碼:
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: public static final int pho29 = 0x7f02001f; pho48是:
public static final int pho48 = 0x7f020034;
對於某些數字,顯示的圖像是好的,對於其他圖像不是好的(並且它總是顯示相同數字的相同圖像....我的意思是pho29,它總是pho48其中顯示,在我的活動中的每一個)
我真的不明白我的思念......所有THX對於任何形式的幫助
編輯:下面的一些匹配(左側數應顯示在右邊的數字顯示)
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和37 ....
嘗試'INT ID = this.getResources()則getIdentifier(「繪製/河粉」 + lerand,「繪製」 ,this.getPackageName());'而不是'int id = mContext.getResources()。getIdentifier(「drawable/pho」+ lerand,「drawable」,mContext.getPackageName());' –
已經試過這個:( 但thx總之 – Ronandroid