花了一段時間,但我終於找到了這個信息。訣竅是使用Resources.GetIdentifier();並將您嘗試訪問的資源的名稱拼湊爲一個字符串。最後的結果看起來是這樣的:
String Package_Name = getBaseContext().getPackageName();
Resources mResources = getBaseContext().getResources();
PIC1 = mResources.getIdentifier(currentPicture + currentSize + "pc_1", "drawable", Package_Name);
PIC2 = mResources.getIdentifier(currentPicture + currentSize + "pc_2", "drawable", Package_Name);
注意:現在,你可以簡單地插入getBaseContext()getPackageName();和getBaseContext()。getResources();在哪裏使用它們的標識符,但是這會在您分配的第一個變量之後添加兩個不必要的方法調用
由於不清楚我在genre_size_number的模板中命名我的圖片資源。例如:StarTrekEmblem_Large_pc_1。 currentPicture保存一個字符串,例如StartrekEmblem_,而currentSize保存一個字符串,例如Large_。我可以使用循環在pc_之後添加1或2,但這又會給程序增加不必要的開銷。
Final注意:「可繪製」表示您指定的資源類型。我指出了這一點,因爲我發現使用「字符串」的例子。在一個特別壯觀的骨頭顯示中,我認爲這是表明你試圖存儲這個變量的變量的類型。正如你所猜測的那樣,我做了相當多的運算來找出錯誤。