inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[2023 코틀린 강의 무료제공] 기초에서 수익 창출까지, 안드로이드 프로그래밍 A-Z

사전 지식 - 레트로핏 라이브러리, JSON 데이터 형식

질문 드립니다

230

새콤한 다람쥐

작성한 질문수 0

0

안녕하세요 선생님 강의를 듣다 의문이 생겼습니다.

1. setOnLongClickListener를 MainActivity에서 사용하거나 OnItemLongClickListener 구현을 ToDoRecyclerViewAdapter에서 하면 안 되나요? 굳이 분리해야 하는 이유가 무엇인가요?

  1. MainActivity와 ToDoRecyclerViewAdapter 둘 중에서 어디에 기능을 구현할지 정하는 기준이 무엇인가요?

감사합니다.

android kotlin 클론코딩

답변 1

0

인프런 AI 인턴

안녕하세요. 인프런 AI 인턴입니다.

setOnLongClickListener를 MainActivity에서 사용하거나 OnItemLongClickListener 구현을 ToDoRecyclerViewAdapter에서 하는 것은 둘 다 가능합니다. 어떤 방식을 선택하느냐는 구현 방식에 따라 다를 수 있습니다.

일반적으로는 MainActivity에서 setOnLongClickListener를 사용하여 이벤트 리스너를 구현하는 것이 좋을 수 있습니다. 이는 long click 이벤트를 처리하는 로직이 액티비티에 있으므로, 액티비티 자체의 라이프사이클이나 다른 구성 요소와의 상호작용에 용이하기 때문입니다. 또한, MainActivity에서 처리하면 ToDoRecyclerViewAdapter에서는 간단한 ViewHolder 구현에 집중할 수 있습니다.

반면에 ToDoRecyclerViewAdapter에서 OnItemLongClickListener를 구현하여 처리하는 것도 사실 가능합니다. 이 경우에는 리사이클러뷰의 각 아이템마다 long click 이벤트를 처리할 수 있기 때문에, 각각의 아이템에 대한 특정한 동작을 처리하기에 용이할 수 있습니다.

따라서, 어떤 방식으로 이벤트 리스너를 구현하느냐는 구현하려는 로직이나 개발자의 선호도에 따라 선택하시면 됩니다. 주로 액티비티 자체의 상태 변화나 다른 기능과의 상호작용이 필요한 경우에는 MainActivity에서 구현하는 것이 좋고, 각 아이템마다의 독립적인 동작이 필요한 경우에는 ToDoRecyclerViewAdapter에서 구현하는 것이 좋을 수 있습니다.

더 자세한 내용은 해당 강의나 관련 문서를 참고하시면 도움이 되실 것 같습니다. 감사합니다.

안드로이드스튜디오 버전이 어떻게 되는지요?

0

108

1

스크래치 파일 Run 안되는 오류 발생

0

134

1

Git에서 다운받은 폴더가 안열리는 분들

0

137

1

TodoDao Interface 문의

0

80

1

kotlin 버전과 ksp 버전 꼭 맞추셔야 해요!!

0

458

1

아름다운 joyce님께.. runonuithread 문의

0

140

0

viewBinding 관련 질문입니다.

0

208

3

0:30초 질문입니다.

0

179

1

Locationmanager로 타입캐스팅 실패 문의

0

141

1

Todo리스트 dao 구성 시 todo 질문

0

141

1

룸 데이터베이스 구성 시 dao 에러 문의

0

171

1

버튼모양 질문 소스코드 첨부

0

147

1

레이아웃 구성할떄 저는 버튼모양이 원으로 나와요

0

171

1

싱글톤 패턴 구현중 코드가 강의와 일치하지 않습니다.

0

157

1

MainActivity 파일안에 setContencView가 없습니다..

0

203

1

room database 설치 질문

0

175

1

kts로 공부하는 학생도 있는데 갑자기 설명도 없이 kt로 설명하면..

0

318

3

mutable과 var의 차이점

0

202

1

안드로이드 스튜디오 스크래치 파일

0

278

1

추가링크는 어디에 있을까요?

0

286

1

대시보드 설정 마지막 단계 Google Play에 앱 게시

0

681

2

geoCoder.getFromLocation 에러

0

557

2

apirequest.io 로딩 현상 & 사이트 이상함

0

453

1

PrimaryKey를 Nullable하게 만드는 이유

0

271

1