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

버튼 클릭시, onClick 메소드에서 누른 버튼 구분하는 방법?

0 추천

버튼은 많고, 단순한 일을 처리하는 onClick메소드라 그냥 한번에 처리하고 싶은데.....

 

<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView"
        android:layout_columnWeight="1"
        android:text="1"
        android:textSize="20dp"
        android:textStyle="bold"
        android:onClick="onNumberClick" />

요런 XML코드의 버튼 속성중 Text가 1~20까지 있다고 했을때, 버튼을 누르면....

 

public void onNumberClick(View view)    {

        Toast.makeText(MainActivity.this,"클릭",Toast.LENGTH_SHORT).show();

    }

onNumberClick메소드에서 Toast로 몇번이 눌렸다고 뜨면 됩니다.

(예를들어 1번 버튼 누르면 Toast로 '1번 클릭' 이런식으로...ㅎㅎ)

 

View로 받아오니... view를 통해서 어떤 버튼이 눌렸는지 가져오면 될꺼같은데.... 어떤걸 써야할지 모르겠네요 ㅠㅠ

떡빵s (1,370 포인트) 님이 2015년 10월 4일 질문

1개의 답변

0 추천
 
채택된 답변
각 Button에 id를 설정하신 다음에, onNumberClick메서드의 파라미터인 view에서 getId()를 호출하시고 Button에 설정한 id와 비교하시면 됩니다. 아주 간단하게 아래와 같이 구현하시면 됩니다.

int id = view.getId();

if(R.id.button01 == id) {

// 1번 버튼이 눌렸네요..

}
mcsong (44,040 포인트) 님이 2015년 10월 4일 답변
떡빵s님이 2015년 10월 4일 채택됨
오 갑사합니다~!!!!!!
Button btn = (Button)view;

이렇게해서 이상한 느낌으로 버튼 받아서 하고있었는데,
알려주신게 더 좋은거 같네요!!!! ㅎㅎ
...