마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

버튼 배열로 선언후 왜 이벤트를 for문으로 처리하는건가요?

0 추천
안녕하세요, 어플개발 입문자입니다.

기초적인 질문이지만 제 상식선에서 이해가 잘 안되는 문제가 있어서 질문올립니다.

버튼을 배열로 선언하고 이벤트 처리에 관한 문제인데요

for(i=0 ;i <btnIDs.length ; i++)

{

  final int index;

  index = i;

  buttons[i].setOnclickListener(new View.OnclickListener(){

  ............생략...........

  });

}

왜 버튼 이벤트핸들러를 for문 안에다 썼는지 이해가 잘 안갑니다.

만약에 0~9까지의 버튼이 있다면

0~9까지 버튼이벤트가 for문을 돌면서 다 호출되는셈이 아닌지요??

저렇게 써서 버튼이 원하는 한번의 동작만하는 원리가 궁금합니다.
android:name (450 포인트) 님이 2014년 11월 2일 질문
android:name님이 2014년 11월 2일 수정

1개의 답변

0 추천

setOnclickListener 는 말 그대로 OnClick이벤트가 발생했을 때, 이벤트를 처리할 곳(리스너)를 설정하는 겁니다.

0~9까지의 모든 버튼에 대해서 설정을 한번씩은 해줘야겠지요.

실제로 이벤트가 발생하면 해당버튼(예를 들어, 2번 버튼)에 연결된 리스너만 동작하게 됩니다.

저 코드라면 리스너가 동일하니 0번부터 9번까지의 버튼 이벤트에 대해 동일한 코드가 수행되겠지요(물론 해당버튼에 대해서 1회만)

cc1232 (35,280 포인트) 님이 2014년 11월 3일 답변
...