sitelink1 | https://blog.naver.com/jwyoon25/222189261057 |
---|---|
sitelink2 | |
sitelink3 |
버튼 클릭에 따른 동작을 정의하고 싶을때, 우선 클릭 이벤트를 감지하는 리스너가 필요할 것이다.
그리고 버튼 클릭 리스너는 사용자가 버튼을 클릭했을때 onClick이라는 메서드를 호출하게끔 구현되어야 한다.
이를 자바로 먼저 보자.
/* 자바 */
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
/* 클릭시 수행할 동작 */
}
})
jdk1.8 이전의 자바에서는 이렇게 구현하는 것이 최선이었다.
즉 크게 복잡한 의미를 지닌 코드가 아닌데, 반드시 작성해야 하는 보일러 플레이트가 너무 많았다.
자바8에서 람다 사용이 가능해지면서 이제는 이렇게 작성하지 않아도 되지만 우리는 코틀린을 공부하고 있으므로 코틀린으로 작성한 코드를 보자.
button.setOnClickListener{ /* 클릭시 수행할 동작 */}
이 코틀린 코드는 번잡했던 자바 코드와 같은 기능을 한다.
즉, 이 코드는 람다를 메서드가 하나뿐인(함수형 인터페이스) 익명 객체 대신 사용할 수 있다는 사실을 보여준다.
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
108 | jetpack compose 란 | 황제낙엽 | 2022.12.19 | 0 |
107 | android jetpack 이란? | 황제낙엽 | 2022.12.19 | 1 |
106 | 구글 ML Kit Vision Quickstart 실행 | 황제낙엽 | 2022.12.14 | 0 |
105 | [구글 ML Kit Vision Quickstart 분석] Intro | 황제낙엽 | 2022.12.13 | 1 |
104 | Vision API로 카드번호 인식 개발하기(OCR) | 황제낙엽 | 2022.12.02 | 0 |
103 | View Binding(뷰 바인딩) | 황제낙엽 | 2022.11.30 | 0 |
102 | view 객체의 eventlistener 함수 정의와 실행 분석 (StillImageActivity.kt) | 황제낙엽 | 2022.11.29 | 0 |
» | 람다를 활용한 이벤트 리스너 정의 (자바와 코틀린 비교) | 황제낙엽 | 2022.11.29 | 0 |
100 | [코틀린] 고차함수와 람다함수 | 황제낙엽 | 2022.11.29 | 0 |
99 | 코틀린 코루틴 관련 포스트 | 황제낙엽 | 2022.11.29 | 0 |
98 | [코틀린] 고차함수 | 황제낙엽 | 2022.11.28 | 0 |
97 | MenuInflater | 황제낙엽 | 2022.11.25 | 0 |
96 | android gradle plugin 의 kotlin_version 수정 | 황제낙엽 | 2022.11.22 | 1 |
95 | android:exported | 황제낙엽 | 2022.11.22 | 0 |
94 | [Kotlin/Android] DataBinding | 황제낙엽 | 2022.11.13 | 0 |
93 | startActivityForResult 가 deprecated 된 이유 | 황제낙엽 | 2022.11.11 | 1 |
92 | [코틀린, 카메라 샘플] QRCodeReader (샘플 확인 완료) | 황제낙엽 | 2022.11.11 | 0 |
91 | [코틀린, youtube, 안드로이드 앱 만들기] 카메라로 사진 찍기 (샘플 확인 완료) | 황제낙엽 | 2022.11.11 | 0 |
90 | 용어 사전 | 황제낙엽 | 2022.11.04 | 0 |
89 | Kotlin의 기본 문법 | 황제낙엽 | 2022.11.04 | 0 |