2016-11-30 1 views
0

android에서 imageViews 배열에 대한 resource_id를 검색하려면 어떻게해야합니까? 내가 드로어 블 자원리소스 ID 가져 오기 Imageview (ImageViews 배열)

int resId = context.getResources().getIdentifier("[imagename]" + indexNumber, "drawable", context.getPackageName()); 

i에 활용하는 방법을 알고 있지만 지금은 레이아웃 폴더에있는 이미지 뷰 (activity_main.xml)의 ID를 검색 할

이유는 내가 가지고있다 indexnumer를 제외하고 비슷한 이름을 가진 10 개의 다른 이미지 뷰. imagevies의

내 전체 코드

ImageView[] imageView = new ImageView[10]; 
    AnimationDrawable[] frameAnimation = new AnimationDrawable[10]; 
    for (int i = 0; i < 10; i++) { 

     int id = ??? 
     imageView[i] = (ImageView) findViewById(id); 
     imageView[i].setBackgroundResource(R.drawable.gold_coin_animation); 

     // Get the background, which has been compiled to an AnimationDrawable object. 
     frameAnimation[i] = (AnimationDrawable) imageView[i].getBackground(); 

     frameAnimation[i].start(); 
    } 

이름은 그래서 내가 indexnumber와 연결 접두사 (gold_coin)에 의해 뷰의 리소스 ID를 검색 할

gold_coin_id1 
gold_coin_id2 
gold_coin_id3 
... 
gold_coin_id110 

있습니다

+0

id를 imageview lik imageViewArray [i] .setId (i);로 설정할 수 있습니다. – Vadivel

+0

ImageView [] imageViewArray = 새로운 ImageView [10]; for (int i = 0; i <10; i ++) { imageViewArray [i] = new ImageView (this); imageViewArray [i] .setId (i); } – Vadivel

+0

int [] resArray = 새로운 int [] {R.drawable.gold_coin_id1, R.drawable.gold_coin_id2, R.drawable.gold_coin_id3, R.drawable.gold_coin_id4}을 만들고이 resArray를 사용하여 setBackground를 만들 수 있습니다. –

답변

1

이것은 작동합니다.

int id = getResources().getIdentifier("gold_coin_id"+i, "id", getPackageName()); 
imageView[i] = (ImageView) findViewById(id); 
+0

바보 같은 날 - 앞으로 더 많은 서명을 연구하는 법을 배워야합니다. 감사 :-) – java