2017-10-09 33 views
0

我想用隨機的可繪製文件替換默認的ImageView。我正在嘗試使用一個字符串,它將在java中調用一個resource_name,並使用一個根據用戶輸入而改變的變量字符串。如何使用String變量調用Resource_name?

JAVA代碼

String random1 = userinput_1; 
String random2 = userinput_2; 
String replaceImageView = (random1+"_"+random2); 
orignalImageView.setImageResource(R.drawable.replaceImageView); 
+0

Mike M請你幫忙把這些問題的邏輯應用到我的。我迷路了,一直都在這個問題上一個多星期,我沒有看到這些問題對我有什麼幫助。 – morefaster

回答

1

您需要使用名稱來獲取標識,然後像你一樣使用它

String random1 = userinput_1; 
String random2 = userinput_2; 
String replaceImageView = (random1+"_"+random2); 
int drawableResourceId = this.getResources().getIdentifier(replaceImageView, "drawable", this.getPackageName()); 
orignalImageView.setImageResource(drawableResourceId); 
+0

我試圖使用可繪製的ResourceId作爲一個int和一個字符串沒有任何運氣。 Android工作室保持高亮度R.drwable。** drawableResourceId)**爲錯誤。我不知道爲什麼我在這裏做錯了,我應該以不同的方式調用drawable文件嗎? – morefaster

+1

您不需要「R.drwable。」,只需「drawableResourceId」,您只需確保String replaceImageView與資源名稱完全匹配即可。 –

+0

這樣做感謝Alirio – morefaster

0

我認爲,如果你使用「for」循環這將是有用的比你做了,你能解釋更多的問題請