App노자
[Android] Event listener 본문
1. Event listener란?
Event Listener란 사용자 인터페이스(UI) 또는 다른 앱 구성 요소에서 발생하는 이벤트(사용자 입력, 버튼 클릭, 화면 터치 등)를 감지하고 처리하는 데 사용되는 메커니즘 또는 단일 콜백 메서드를 포함하는 View 클래스의 인터페이스를 가리킨다
Event Listener는 앱이 리스너가 등록된 view가 사용자 상호작용으로 인해 UI 내 항목과 함께 트리거 되었을 때 Android 프레임워크에 의해 호출되어 사용자 입력에 대응하는 데 중요한 역할을 한다
Event Listener 인터페이스에 포함된 콜백 함수는 각자의 인터페이스 안에 단독으로 존재하며, 함수 중 하나를 정의하고 이벤트를 처리하려면 Activity 내에 중첩된 인터페이스를 구현하거나 익명의 클래스로 정의하여 사용한다
https://developer.android.com/guide/topics/ui/ui-events?hl=ko#EventListeners
입력 이벤트 개요 | Android 개발자 | Android Developers
입력 이벤트 개요 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Android에는 사용자와 애플리케이션의 상호작용으로부터 이벤트를 가로채는 방법이 여러 가
developer.android.com
2. onClick()
var testButton : Button = findViewById(R.id.my_button)
testButton.setOnClickListener(object :View.OnClickListener {
override fun onClick(p0: View?) {
TODO("Not yet implemented")
}
})
testButton.setOnClickListener {
}
onClick() 함수는 View 클래스와 그 하위 클래스에서 사용되는 이벤트 리스너 중 하나이며
주로 사용자가 해당 뷰를 클릭할 때 발생하는 이벤트를 처리하는 데 사용된다
개발자는 해당 뷰의 onClick() 함수를 재정의하여 클릭 이벤트에 대한 동작을 정의하면
사용자가 해당 뷰를 클릭할때 시스템은 해당 뷰의 onClick() 메서드를 호출한다
https://developer.android.com/reference/android/view/View.OnClickListener
View.OnClickListener | Android Developers
developer.android.com
3. onLongClick()
var testButton : Button = findViewById(R.id.my_button)
testButton.setOnLongClickListener(object :View.OnLongClickListener {
override fun onLongClick(p0: View?): Boolean {
TODO("Not yet implemented")
}
})
testButton.setOnLongClickListener {
true
}
ㄴㄴonLongClick() 메서드는 안드로이드에서 사용자가 뷰를 길게(롱클릭) 클릭할 때 발생하는 이벤트를 처리하는 메서드입니다. 즉, 사용자가 뷰를 일정 시간 동안 길게 누르면 호출되는 메서드입니다. 이를 통해 사용자는 주로 길게 눌렀을 때 특정 동작(예: 컨텍스트 메뉴 표시, 아이템 삭제 등)을 수행할 수 있습니다. onLongClick() 메서드를 사용하려면 다음 단계를 따릅니다: 해당 뷰를 찾거나 생성합니다. 일반적으로 XML 레이아웃 파일에서 뷰를 정의하고 findViewById() 메서드를 사용하여 뷰 객체를 찾습니다. 뷰에 setOnLongClickListener() 메서드를 호출하여 긴 클릭 리스너를 설정합니다. 이 메서드에는 View.OnLongClickListener 인터페이스를 구현한 객체를 전달합니다. onLongClick() 메서드를 구현한 객체 내에서 긴 클릭 이벤트에 대한 동작을 정의합니다.
https://developer.android.com/reference/android/view/View.OnLongClickListener
View.OnLongClickListener | Android Developers
developer.android.com
4. onFocusChange()
var testEditText: EditText = findViewById(R.id.my_edittext)
testEditText.setOnFocusChangeListener(object : View.OnFocusChangeListener {
override fun onFocusChange(v: View?, hasFocus: Boolean) {
if(hasFocus) {
//method
}
}
})
testEditText.setOnFocusChangeListener { v, hasFocus ->
if(hasFocus){
//method
}
}
https://developer.android.com/reference/android/view/View.OnFocusChangeListener
View.OnFocusChangeListener | Android Developers
developer.android.com
5. onKey()
하드웨어 키 이벤트가 View로 발송될 때 호출될 콜백에 대해 정의한 인터페이스이다
키 이벤트가 View에 제공되기 전에 콜백이 실행되고 하드웨어 키보드에만 유용합니다
안드로이드 단말 대부분이 소프트웨어 키보드이므로 사용빈도가 떨어지는 인터페이스라고 생각한다
https://developer.android.com/reference/android/view/View.OnKeyListener
View.OnKeyListener | Android Developers
developer.android.com
6. onTouch()
var testEditText: EditText = findViewById(R.id.my_edittext)
testEditText.setOnFocusChangeListener(object : View.OnFocusChangeListener {
override fun onFocusChange(v: View?, hasFocus: Boolean) {
if(hasFocus) {
//method
}
}
})
testEditText.setOnFocusChangeListener { v, hasFocus ->
if(hasFocus){
//method
}
}
7. onCreateContextMenu()
자세한 설명 및 구현 방법은 아래의 링크에서 확인 가능하다
[Android] Context Menu(컨텍스트 메뉴)
Preference는 안드로이드에서 기본적으로 제공해 주는 것으로 간단한 데이터 저장방식이다. Preference는 xml형태로 저장을 한다 람다식 함수란 이름 없이 함수의 역할을 하는 익명 함수이며 주로 고
cjh94.tistory.com
'Android > AndroidStudio' 카테고리의 다른 글
[Android] startActivity, startActivityForResult (0) | 2023.06.28 |
---|---|
[Android] Event handler (0) | 2023.06.27 |
[Android] finish, finishAffinity (0) | 2023.06.16 |
[Android] ObjectAnimator (1) | 2023.06.10 |
[Android] Property Animation Overview (0) | 2023.06.05 |