안드로이드에서 버튼을 클릭했을때 동작하게 하는 방법을 알아보겠습니다.

개발도구는 안드로이드 스튜디오 기준으로 설명합니다.


버튼 클릭 이벤트를 실행하는 대표적인 방법은 2가지가 있습니다.


방법1. Activity 코드 (java 파일) 안에 있는 onCreate 매서드 안에 버튼 클릭 이벤트를 설정하기

방법2. Activity 화면 (xml 파일) 의 버튼에 onClick을 설정하고 Activity 코드 (java 파일)에 onClick 매서드 설정하기


기본적으로는 첫번째 방법을 많이 사용합니다.


첫번째 방법을 위해서는 다음과 같은 절차가 필요합니다.


1. 화면에서 버튼을 만든다.

2. 버튼에 아이디를 부여한다.

3. java 파일에서 버튼을 불러온다.

4. 불러온 버튼에 클릭 이벤트를 설정합니다.

5. 이벤트 안에 원하는 코드를 입력합니다.


그럼 순서대로 진행해 보겠습니다.


1. 화면에 버튼을 만든다.


아래 그림은 안드로이드 스튜디오에서 xml - design 탭을 선택했을 때의 화면입니다.



activity xml 파일을 선택합니다.

(좌측 탐색기 타입이 android일 경우 app > res > layout 폴더에 있습니다.)



디자인 탭이 선택된 상태에서 Palette 부분에 있는 Button을 안드로이드 화면으로 드래그 합니다.



2. 버튼의 아이디를 부여한다.


버튼 속성에서 아이디를 확인합니다. 생성한 버튼의 아이디를 "button1"로 설정합니다.



3. java 파일에서 버튼을 불러온다.


activity java 파일을 선택합니다.

(좌측 탐색기 타입이 android일 경우 app > java > 패키지 이름 폴더에 있습니다.)



onCreate 매서드 아래쪽에 아래 코드를 추가합니다.


button1 = (Button)findViewById(R.id.button1);

4. 불러온 버튼에 클릭 이벤트를 설정합니다.


button1.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) { // 원하는 코드 입력 } });

5. 이벤트 안에 원하는 코드를 입력합니다.


가장 간단한 토스트 메시지를 띄어 보겠습니다.

아래 코드를 위의 원하는 코드 부분 입력 부분에 추가합니다.


Toast.makeText(getApplicationContext(), "button1 클릭", Toast.LENGTH_LONG).show();

on Create 매서드의 전체 코드는 아래와 같습니다.


protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button1 = (Button)findViewById(R.id.button1); button1.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) { Toast.makeText(getApplicationContext(), "button1 클릭", Toast.LENGTH_LONG).show(); } }); }


코드가 입력된 화면입니다.



이제 에뮬레이터에서 실행해 보겠습니다.

버튼을 클릭하면 아래쪽에 토스트 메시지가 나타납니다.




감사합니다.

+ Recent posts