2011-10-29 30 views
0

使用java進行Android開發。我有一個存儲圖像資源的數組。圖像資源以數字順序(1.png,2.png等)命名。我想使用for循環來創建數組中的值,而不是單獨聲明每個值。使用for循環從資源中的圖像聲明數組中的值

我曾嘗試:

private int[] myArray = {R.drawable.r1, R.drawable.r2, etc}; 

我會想做什麼:

private int[] myArray; 
myArray = new int[50] 
for (i=0; i<50; i++) { 
myArray[i] = R.drawable. + "i" 

回答

0

那麼這樣的事情在技術上是可行的,但很容易出現一些問題。 R類是動態生成的。雖然其適度的可預測性,如果由於某種原因你的生成值發生了變化,它可能會完全破壞你的代碼。但是,如果您要這樣做,它看起來像這樣:

private int[] myArray; 
myArray = new int[50]; 
int id = R.drawable.firstImage; 
for (i=0; i<50; i++) { 
    myArray[i] = id + i; 
} 
+0

您是否知道是否有文檔討論如何生成資源ID。順便謝謝,這非常有幫助。 – Leukka

+0

我不確定。我做了類似的事情,但最終認定它不安全,做了一些不同的事情。但是,我沒有處理50+的ID。您可以考慮使用'view.setTag(object)'爲每個視圖分配一個標籤,然後使用'findViewWithTag(object)'來管理您的視圖。如果你爲每個視圖分配一個Integer對象,你可以用這種方式「索引」它們。那你就不需要這個數組了。 – mtmurdock