[안드로이드] 안드로이드스튜디오(Android Studio) android.view.View 클래스의 이벤트 리스너 OnClickListener, OnCreateContextMenuListener, OnFocusChangeListener, OnLongClickListener, OnTouchListener , 안드로이드 예제, 안드로이드 강좌
참고 : 이미지서명은 제 와이프 블로그 이미지서명입니다.
안녕하세요 정보처리마법사입니다.
이번 포스팅의 주제는 android.view.View 클래스의 이벤트 리스너 입니다.
메소드를 설명하는 다소 지루한 이론적인 부분입니다.
일반적으로 뷰에서 발생할 수 있는 이벤트는 android.view.View 클래스에 인터페이스로 선언이 되어있습니다. 그리고 이 인터페이스에는 안드로이드 시스템에 의해 호출되는 콜백(call back) 메소드가 정의되어 있으므로 이벤트 리스너의 메소드를 구현하기만 하면 원하는 이벤트가 발생했을 경우 적절한 처리를 할 수 있습니다.
View.OnClickListener 클래스의 메소드
abstract void onClick(View v)
뷰를 클릭했을 때 호출됩니다.
매개변수
v : 클릭된 뷰
View.OnCreateContextMenuListener 클래스의 메소드
abstract void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo)
뷰의 컨텍스트 메뉴가 생성되어야 할 때 호출됩니다.
매개변수
menu 생성되어야 할 컨텍스트 메뉴
v : 컨텍스트 메뉴가 생성될 뷰
menuInfo : 컨텍스트 메뉴에 대한 추가적인 정보
View.OnFocusChangeListener 클래스의 메소드
abstract void onFocusChange(View v, boolean hasFocus)
뷰의 포커스 상태가 변경되었을 때 호출됩니다.
매개변수
v : 컨텍스트 메뉴가 생성될 뷰
hasFocus : v의 포커스 상태
View.OnKeyListener 클래스의 메소드
abstract boolean onKey(View v, int keyCode, KeyEvent event)
키 이벤트를 뷰에 전달해야 할 때 호출됩니다. 키 이벤트가 뷰에 전달되기 전에 특정 처리를 하고 싶을 때 사용할 수 있습니다.
매개변수
v : 키가 전달되어야 할 뷰
keyCode : 눌려진 키 코드
event : 발생한 이벤트에 대한 전체 정보를 가지고 있는 KeyEvent 객체
반환
발생한 키 이벤트를 이 메소드에서 처리하고 다른 리스너에 전달하고 싶지 않다면 true, 그렇지 않은 경우에는 false
View.OnLongClickListener 클래스의 메소드
abstract boolean onLongClick(View v)
뷰를 롱클릭했을 때 호출됩니다.
매개변수
v : 롱클릭이 발생한 뷰
반환
발생한 롱클릭을 이 메소드에서 처리하고 다른 리스너에 전달하고 싶지 않다면 true, 그렇지 않은 경우에는 false
View.OnTouchListener 클래스의 메소드
abstract boolean onTouch(View v, MotionEvent event)
터치 이벤트를 뷰에 전달해야 할 때 호출됩니다. 터치 이벤트가 뷰에 전달되기 전에 특정 처리를 하고 싶을 때 사용할 수 있습니다.
매개변수
v : 터치 이벤트를 전달할 뷰
event : 발생한 이벤트에 대한 전체 정보를 가지고 있는 MotionEvent 객체
반환
발생한 터치 이벤트를 메소드에서 처리하고 다른 리스너에 전달하고 싶지 않다면 true, 그렇지 않은 경우에는 false
이상으로 포스팅을 마칩니다. 감사합니다.
참고서적 : 200개의 단계별 예제로 배우는 안드로이드 4.0 [제이펍]
Fin.
잘 못 된 정보가 있으면 말씀해주세요~
공감버튼 클릭은 작성자에게 큰 힘이 됩니다. 행복한 하루 되세요.