프로그래밍

코린이 이런 경우 어떻게 해결 함?

코틀린 공부를 위해 기본기 다 떼지도 않았는데 공부차 개발 시작했다가 설계가 개판이 되버렸다..

History.kt에 RecyclerView가 있고 이를 DB에 연결해주기 위해 Room을 사용하여 HistoryAdapter랑 연결했다.

 

RecyclerView 리스트에 각 row당 버튼이 하나 있는데 이 버튼 리스너 처리를 HistoryAdapter에서 해줄 수 있던데

문제는 해줘야 하는 기능이 Popup Dialog 띄워주고, DB에 저장하기 위해 쓰레드도 만들어줘야 하고 뭔가 스케일이 점점 커지니

HistoryAdapter에서 할게 아니라 History에서 작업을 해줘야 겠다는 생각이 들기 시작함

 

그런데 안드로이드도 코틀린도 처음이라 HistoryAdapter -> History 메서드를 어떻게 실행해줘야 할 지 모르겠다..

그냥 Delegate 해줘도 되겠지만 안 그래도 꼬인 설계가 더 꼬일꺼 같고... 보통 어떻게 처리함?

 

 

 

240205.png

요약)

1. 위 이미지 처럼 각 row당 선택 버튼이 있고, 버튼 리스너는 HistoryAdapter에 있음

2. 하지만 리스너에서 처리하는걸 History에서 해주고 싶음

3. 설계가 개판인게 근본적인 문제지만.. 일단 이럴 때 그냥 델리게이트 써도 괜찮나?

3개의 댓글

2024.02.06

일반적인 방법은 Adapter 생성자로 버튼 리스너나 콜백을 넘겨받는거지

0
2024.02.06
@힝거루

아... C# 할 때는 걍 델리게이트로 등록해서 썻는데 코틀린에서는 리스너나 콜백을 줘서 할 수 있구나

개편하네 ㅋㅋㅋ

0
2024.02.06

mvvm 구조가 아니라면

윗댓 말대로 어댑터 생성시에 함수 넘기면됨

 

걍 댓글코딩이니.. 컴파일에러는 몰?루

 

class History {

val adapter = Adapter(::function)

 

fun function() {

 

}

}

 

class Adapter(val onClick: ()-> Unit) {

 

}

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
5702 [프로그래밍] Aws 람다에 파이썬 올려서 결과 받아오는데 11 아르피쥐 0 9 시간 전 169
5701 [프로그래밍] 마리아DB mediumtext 그냥 쓰고 싶은데 21 잉텔 0 1 일 전 154
5700 [프로그래밍] 안드로이드 씹뉴비 질문이요 1 집에가게해줘 0 1 일 전 90
5699 [프로그래밍] c언어 7년했는데 이런게 되는거 처음알았음.. 4 케로로중사 0 2 일 전 656
5698 [프로그래밍] 파이썬 1도 모르는데 GPT로 프로그램 뚝딱 만듬 2 푸르딩딩 1 5 일 전 593
5697 [프로그래밍] 담주 면접잡혔는데 8 삐라루꾸 0 5 일 전 358
5696 [프로그래밍] 아두이노 부트로더를 구웠는데.. 4 렙이말한다ㅡ니가옳다 0 6 일 전 216
5695 [프로그래밍] IOS 개발자 있나여? 1 g4eng 0 8 일 전 237
5694 [프로그래밍] 시스템 디자인 인터뷰 준비 도움좀!!! 1 Nognhyup 0 9 일 전 186
5693 [프로그래밍] 최근에 vscode 쓴 사람 도움! 3 172102 0 10 일 전 436
5692 [프로그래밍] 책을 또 사버리고 말았다... 1 찰나생멸 2 10 일 전 425
5691 [프로그래밍] 윈도우 부팅화면 봐주실분 1 바나나맛두부 0 13 일 전 233
5690 [프로그래밍] 아 시발 퇴사마렵다 9 인간지표 0 14 일 전 590
5689 [프로그래밍] C#이 ㅈ사기 언어인 이유 19 ye 6 14 일 전 1171
5688 [프로그래밍] 요즘 모바일 개발은 어떤 걸 사용하나요? 14 커피좋아용 0 16 일 전 532
5687 [프로그래밍] 취준생 안드로이드 팀플 주제 머할까요... 8 조강현 0 17 일 전 288
5686 [프로그래밍] 공통코드테이블은 대체 왜 만드냐 9 잠적자 0 18 일 전 604
5685 [프로그래밍] 토이프로젝트 주제 선정 3 개드립눈팅1세대 0 18 일 전 281
5684 [프로그래밍] 엥 구글 플러터 유기각 재는거임?? 4 최수연 0 21 일 전 558
5683 [프로그래밍] 반도체 장비 업계인 있음? 9 캡틴띠모 0 21 일 전 430