2015-07-19 36 views
-3

我想在Android項目中使用字符串作爲ImageView的ID。 此代碼不能正常工作形成了我:使用字符串作爲Android中的圖形元素的ID(Java)

for(int l=1; l<=9; l++){ 
     String NineElements = "imageView" + l; 
     ImageView oneOfNineElements = (ImageView) findViewById(R.id.NineElements); 
     oneOfNineElements.setImageDrawable(getResources().getDrawable(R.drawable.myimage)); 
    } 
+0

** findViewById **只適用於'int'變量 –

回答

0

的id在Android的在建過程中產生的,如果你想在循環使用它們,你可以在陣列和循環將它們保存在他們

int[] images = {R.id.image1,R.id.image2,.... 

那麼

for(int l=1; l<=9; l++){ 

    ImageView oneOfNineElements = (ImageView)findViewById(images[l]); 
    oneOfNineElements.setImageDrawable(getResources().getDrawable(R.drawable.myimage)); 
} 
0

請嘗試以下代碼。它應該工作

for(int l = 1; l <= 9; l++) 
    { 
     String elementID = "imageView" + l; 
     int resID = getResources().getIdentifier(elementID, "id", getApplicationContext().getPackageName()); 
     ImageView oneOfNineElements = (ImageView) findViewById(resID); 
     oneOfNineElements.setImageDrawable(getResources().getDrawable(R.drawable.myimage)); 
    } 
相關問題