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

버튼을 배열로 생성했을때 내가 클릭한 버튼 알아내려고 합니다(2015-10-28)

0 추천

버튼을 배열로 클릭했을때 

제가 누른 버튼에 대해서 v.getId()하면 제가 누른 버튼의 아이디가 나오자나요

그거 말고 자바에서 제가 선언한 

예를들면 

public Button topButton[] = new Button[10];

for (int i = 0; i < 5; i++) {

topButton[i] = new Button(this);                    //버튼으로 할당해주었습니다.

......



제가 3번째 버튼을 클릭했을때 buttons[2] 이걸 알고 싶은데 어케 하는지 ㅠ

인생쑤다 (330 포인트) 님이 2015년 10월 28일 질문
인생쑤다님이 2015년 10월 28일 수정

1개의 답변

0 추천
 
채택된 답변
걍 아래와 같이 코드를 짜면 될 듯 한데요..

public void onClick(View v)
{
    int buttonIndex = -1;
    for(int i = 0; i < buttons.length; i++)
        {
        if(buttons[i] == v.getId())
        {
            buttonIndex = i;
            break;
        }
    }

    if(buttonIndex >= 0)
    {
        int res = buttons[buttonIndex]; // 클릭한 버튼 리소스 아이디
    }

}
익명사용자 님이 2015년 10월 28일 답변
인생쑤다님이 2015년 10월 29일 채택됨
질문 다시 수정하였습니다. 죄송합니다.
마찬가지로 getId로 비교를 하시면 될 듯 합니다.
public void onClick(View v)
{
    Button clickedButton = null;
    for(int i = 0; i < topButton.length; i++)
    {
        if(v.getId() == topButton[i].getId())
        {
            clickedButton = topButton[i]; // 클릭한 버튼 설정
            break;
        }   
    }
}
다른 방식으로 하여 문제 해결하였습니다.
답변 감사합니다.ㅎ
...