[Android SDK] 버튼을 클릭하면, 동작하는 코드를 작성하는 방법

 

버튼을 클릭하면, 동작하는 코드를 작성하는 방법

setOnClickListener() 함수와, 이 함수의 파라미터인 View.OnClickListener의 onClick 함수

 

각종 위젯을 클릭하거나, 텍스트를 입력하거나, 드래그 하는등의 UI에 적용되는 사용자의 반응을 ‘이벤트’라고 한다.

흔히 GUI 프로그래밍에서 만날 수 있는 단어인데, 이러한 이벤트 처리는 Listener라고 불리우는 여러 클래스들이 담당한다. 

 

리스너는 말그대로 듣고 있는 녀석이다. 리스너 내의 메서드를 구현해 놓으면 특정 이벤트를 계속 듣고 있다가 이벤트가 발생하는 시점에 메서드를 호출해준다. 죽, 리스너의 역할은 버튼을 클릭했을 때 내부의 코드(괄호 안)를 동작시킨다다.


OnClick메서드는 OnClickListener interface에 정의되어 있는 메서드이다.

 

그중에 View에 있는 OnClickListener을 알아볼 것이다. OnClickListener에 있는 OnClick메서드를 구현하는 4가지 방법있다..

 

방법4가지

1. OnClickListener interface를 implements 하여 메서드를 구현

2. View의 인자에 바로 Listener을 구현 

3. clickListener을 별도의 객체로 생성하여 set하는 방법

4. xml에서 메서드를 선언하고 구현하는 방법

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

이중에서 가장 많이 쓰이는 2번만 다룰것이다. 2번의 구현방법은 구현 이벤트의 수가 적을 경우, 그리고 리스너를 재사용하지 않을경우 많이 사용하게 된다.


레이아웃에 있는 위잿과 findViewbyId로 바인딩을 완료한 상태라면, 버튼의 id에 리스너(Listener)를 설정한다. 

반드시 해당 위젯은 객체 생성이 되어있어야한다. 

 

Button button = findViewById(R.id.button)
button.setOnClickListener(); 

 

View.OnClickListener

  • View 클래스 내부 인터페이스
  • 버튼을 클릭 or 화면 전체(레이아웃)클릭 등의 View를 클릭할 때 처리할 이벤트를 담당하는 리스너
  • 리스너를 사용할 때 반드시 onClick() 메소드를 재 정의해야함.

 

Button button = findViewById(R.id.button)

button.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View view) {
       Intent intent = new Intent(MainActivity.this, AddActivity.class);
       startActivity(intent);

   }
});

 

setOnClickListener의 괄호 안에 new View.OnClickListener를 작성하면 오버라이딩이 자동완성된다. 오버라이딩 된 onClick() 메서드 안에다가 버튼을 클릭하면 발생하는 이벤트를 작성하면 된다.

 

[출처] https://yeo0616.tistory.com/196

 

 

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
153 [Android Studio] Google Play Console - 앱 API 수준 업데이트하기 (앱 업데이트 출시, 앱 API 수준 이상 타겟팅 방법, API 31 To 33) file 졸리운_곰 2024.08.28 203
152 [android studio] 안드로이드 앱 배포, APK와 AAB file 졸리운_곰 2024.05.03 208
151 [Android SDK] [안드로이드] 접속된 네트워크 인터페이스의 IP 주소 가져오기 졸리운_곰 2024.05.02 191
150 [Android SDK] [안드로이드] 핸드폰 번호, 기기 고유 id 등 단말기 정보 가져오기 file 졸리운_곰 2024.05.02 451
149 [Android SDK] Android) 안드로이드 Jsoup로 웹크롤링 하기 (예제포함) - "데일리 브리핑 앱 개발기" file 졸리운_곰 2024.05.01 137
148 [Android SDK] [Android] Activity 생명주기와 이동 file 졸리운_곰 2024.05.01 182
147 [Android SDK] [Android] EditText 읽기 전용으로 만들기 졸리운_곰 2024.05.01 120
146 [Android SDK] 안드로이드: 간단한 데이터를 저장하고 싶을 때(SharedPreferences 사용예제) 졸리운_곰 2024.05.01 145
145 [Android SDK] [Android] Jsoup 으로 파싱하기 file 졸리운_곰 2024.05.01 146
144 [Android SDK] [Android] 안드로이드 - 액티비티(Activity)로부터 결과 데이터 받아오기 file 졸리운_곰 2024.05.01 166
143 [Android SDK] [안드로이드/Android] 기기 네트워크 연결 상태 확인 file 졸리운_곰 2024.05.01 138
142 [Android SDK] 안드로이드 - 메시징 - Toast 졸리운_곰 2024.05.01 201
141 [Android SDK] [Android] 안드로이드 Alert 창 띄우기 file 졸리운_곰 2024.05.01 170
» [Android SDK] 버튼을 클릭하면, 동작하는 코드를 작성하는 방법 졸리운_곰 2024.05.01 120
139 [Android SDK] [ Android ] a webview method was called on thread 'javabridge' 에러가 발생했을 때 졸리운_곰 2024.05.01 202
138 [Android SDK] [안드로이드] Thread, TimerTask, Handler 반복 호출 만들기 JAVA 졸리운_곰 2024.05.01 157
137 [Android SDK] [Android] postDelayed()를 이용해서 주기적 메소드 실행 졸리운_곰 2024.05.01 144
136 [Android SDK] Making Android WebView autorefresh periodically 졸리운_곰 2024.05.01 168
135 [Android SDK] [안드로이드] 시스템 멈추기 - Sleep() 사용법 file 졸리운_곰 2024.05.01 140
134 [Android SDK] 안드로이드 스레드 예제. 스레드로 고민해보기. (Android Thread UseCase) file 졸리운_곰 2024.05.01 142
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED