프로그래밍

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

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

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
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
180787 [정보] 돈있을때 웬디 6~8테라 외장살려했는데 이것도 막히나? 2 마법부오러사무국장 0 2 시간 전 50
180786 [컴퓨터] 현존최강스팩모니터 aw3225qf 샀다 3 부동산사기 0 4 시간 전 83
180785 [컴퓨터] 4k 유저는 4090도 과소비아니다 부동산사기 0 4 시간 전 84
180784 [컴퓨터] 키보드 사고 싶은데 추천좀 해줄 수 있음? 4 오나홀소믈리에 0 4 시간 전 45
180783 [컴퓨터] 40대 그래픽카드 처음 봤는데 3 너가전부옳아 0 5 시간 전 124
180782 [컴퓨터] 직구) 디아4하다 컴사려함 4 박지서엉 0 6 시간 전 115
180781 [컴퓨터] cpu는.... 직구가 되려나.... 3 저크고아름다운 0 6 시간 전 153
180780 [잡담] 인터넷 KT로 바꾼 뒤 속도 테스트 3 내일까지 0 9 시간 전 251
180779 [모바일] 워치 셀룰러 모델은 어떤사람들이 쓰는거? 8 한림예고 0 10 시간 전 164
180778 [잡담] [키보드] 레이니 치화 중옵 도착! 독거미 경해축과 간단 비교... 1 냐하하하하 0 10 시간 전 101
180777 [잡담] 모바일로 개드립 접속시 오류? 나만 이상있나? 4 최병장 0 11 시간 전 49
180776 [컴퓨터] Oled 42c4 는 리뷰 왜케없어? 2 좋은말착한말 0 11 시간 전 87
180775 [잡담] m7 43인치 삼텐바이미 만들었드 6 쿱쿱 1 12 시간 전 121
180774 [잡담] 왜 서버리스라는 이름이 된걸까 7 69746974 0 13 시간 전 131
180773 [잡담] 직구 막히기 전에 사고 싶은거 좀 지를까 7 화이트데이 0 14 시간 전 215
180772 [컴퓨터] 6700XT... 업그레이드 할까...? 11 건축전기설비기술사 0 15 시간 전 92
180771 [모바일] KT,LG 알뜰폰 5G , LTE 인터넷 속도좀 봐줘라 4 즐기자 0 15 시간 전 135
180770 [컴퓨터] 형님들 키보드 추천 가능합니까? 4 뽀삐뽀삐 0 16 시간 전 156
180769 [잡담] 사설수리점들은 어케되려나 2 닉으로드립치고싶냐 0 17 시간 전 165
180768 [잡담] 영상판에도 올렷는데 4k모니터 구매하고 아바타 물의길 영화 ... 15 폰뉴비 0 17 시간 전 89