프로그래밍

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

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

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
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
5690 [프로그래밍] 엥 구글 플러터 유기각 재는거임?? 4 최수연 0 6 시간 전 126
5689 [프로그래밍] 반도체 장비 업계인 있음? 7 캡틴띠모 0 1 일 전 187
5688 [프로그래밍] 안드로이드 책 추천좀 6 집에가게해줘 0 1 일 전 120
5687 [프로그래밍] 폰 스크리닝 해 본 사람 있어? 3 무지개빛푸딩 0 2 일 전 352
5686 [프로그래밍] jsp 트리메뉴 만들고있는데 구상한게가능한지 의견좀물어볼께 11 평택국 0 2 일 전 138
5685 [프로그래밍] JPA 도와줘어억 ㅠ 10 모그리또 0 3 일 전 215
5684 [프로그래밍] 의사는 뽑는 인원 제한하는데 부캠은 왜 제한 안 할까 5 조강현 0 4 일 전 347
5683 [프로그래밍] 그 혹시 게임쪽 종사자 있음? 17 god79ii 0 8 일 전 615
5682 [프로그래밍] 코린이 ㅅㅂ 뭐가 문젠지 모르겠어요 9 집에가게해줘 0 9 일 전 436
5681 [프로그래밍] Dear Imgui 라고 아시나요? 2 년째모쏠 0 9 일 전 239
5680 [프로그래밍] 현업개발자분들 주말엔 편하게 쉴수있나요? 10 키로 0 9 일 전 839
5679 [프로그래밍] 무엇이든 물어보세요. 28 변현제 0 11 일 전 403
5678 [프로그래밍] 개발자보단 엔지니어가 취업이 잘됨 5 iillillill 2 13 일 전 712
5677 [프로그래밍] 프론트엔드 개발자 연봉 1억 넘는 사람 있어? 13 잠적자 0 13 일 전 620
5676 [프로그래밍] Exiftool 이거 일본어 못 읽는데 13 부터시작하는이세... 0 14 일 전 230
5675 [프로그래밍] 반응형 웹페이지가 내가상상한거랑 좀 다르네 4 평택국 0 15 일 전 442
5674 [프로그래밍] 고졸 FE개발자 연봉, 상황에 조언좀.. 19 쾅꿍꿍 0 16 일 전 596
5673 [프로그래밍] 물경력들 보면 책임을 이해못하는것같음 5 mils 1 16 일 전 407
5672 [프로그래밍] GPT가 코딩 다해주네 3 겜신병자 0 17 일 전 738
5671 [프로그래밍] 크로스플랫폼의 욕심은 끝이없다 4 ye 0 19 일 전 395