2013-11-25 3 views
0

감사합니다. 레이아웃에서 스피너의 입력을 기반으로 음계를 쓸 수있는 앱을 만들고 있습니다. 11 개의 Imageviews가 많은 스피너에서 많은 정보를 가져온 다음 레이아웃의 버튼을 클릭하면 이미지 뷰가 변경됩니다. 즉, ImageView를 ArrayList에 저장하려고합니다. 이건 내 생각이다 :Android, ArrayList에있는 ImageView 객체

//Initilization of ArrayList as a member: 
ArrayList<ImageView> pics; 

//in onCreate(): 
pics = new ArrayList<ImageView>(); 
pics.add((ImageView) findViewById(R.id.picA); 
pics.add((ImageView) findViewById(R.id.picB); //etc through picK 

//in onClick(): 
for (int i; i++; i<11){ 
    if ("test".equals(noteArray[i]) pics[i].setImageResource(R.drawable.testPic); 
    if ("testTwo".equals(noteArray[i]) pics[i].setImageResource(R.drawable.secondTestPic); 

하지만 [X] 사진에 setImageResource()를 사용할 수 없습니다입니다. 그것은 정상적인 ImageView 개체에 잘 작동, 내가 잘못 ArrayList를 사용하고 있습니까?

답변

1

사용

pics.get(i)

ArrayList 사용은 특정 위치에 개체를 얻을 수있는 함수를 사용한다.

+0

간단합니다. 아마 내가 열이있어 stackoverflow에 게시해서는 안됩니다. 나는 여기서 질문을 낭비했다. 어느 쪽이든, 당신은 처음이었고 그것은 잘 작동 했으므로 나는 그것이 가능한 한 빨리 당신의 것을 가장 좋은 답으로 표시 할 것입니다. 고맙습니다! – user2816570

+0

감사! 당신은 쉽게 약간의 연구로 당신 자신의 질문에 대답 할 수 있었지만 우리 모두는 때때로 환자를 잃습니다 (특히 아플 때). 관심 있다면,'Collections' 인터페이스에 대한 약간의 연구를 해보십시오. – Scott