티스토리 뷰

Android

리스너(Listener)

번쩍코딩 2025. 10. 15. 10:59
 


**안드로이드 리스너(listener)**는 어떤 이벤트(행동)가 발생했을 때 그걸 감지해서 실행할 코드를 정의하는 객체예요.
쉽게 말해, “무엇인가 일어났을 때, 이걸 처리해줘!” 라고 알려주는 역할을 합니다.

🔹 예를 들어볼게요

버튼을 눌렀을 때 어떤 동작을 하도록 만들고 싶다고 해볼게요.
이때 버튼에 클릭 리스너 (Click Listener) 를 붙입니다.

 
val button = findViewById<Button>(R.id.myButton) button.setOnClickListener { // 이 부분의 코드는 버튼이 눌렸을 때 실행돼요! Toast.makeText(this, "버튼 클릭됨!", Toast.LENGTH_SHORT).show() }
  • setOnClickListener → "버튼 클릭 이벤트"를 듣는 리스너를 설정하는 함수
  • { ... } 안의 코드 → 버튼이 눌렸을 때 실행할 동작

🔹 리스너의 개념 요약

용어의미
이벤트(Event) 사용자 행동 (터치, 클릭, 스크롤 등)
리스너(Listener) 이벤트가 발생했을 때 실행될 코드를 담고 있는 객체
콜백(Callback) 이벤트 발생 시 호출되는 메서드 (리스너 안의 함수)

🔹 대표적인 안드로이드 리스너들

리스너 이름설명
View.OnClickListener 클릭했을 때
View.OnLongClickListener 길게 눌렀을 때
TextWatcher EditText의 글자가 바뀔 때
OnTouchListener 터치 동작(눌림, 이동 등)을 감지할 때
OnFocusChangeListener 포커스가 바뀔 때 (예: 입력창 선택/해제)

🔹 비유로 이해하기

리스너는 "벨소리를 듣는 사람" 같아요.

  • 벨이 울리는 게 → 이벤트 발생
  • 그걸 듣고 문을 여는 사람이 → 리스너
  • 문을 여는 행동이 → 콜백 메서드 실행