inflearn logo
강의

Course

Instructor

Modern Android - Utilizing Kotlin and Jetpack

RecyclerView Adapter에서 ViewModel 접근에 관하여 질문 드립니다.

1401

BH Kim

2 asked

0

안녕하세요.

제목 그대로 RecyclerView.Adapter or RecyclerView.ViewHolder class에서 ViewModel에 접근하고 싶은데 방법을 못찾아 질문 드립니다.

지금 저는 Adapter나 ViewHolder의 인스턴스를 생성할때 ViewModel을 삽입하여 사용하고 있는데 혹시 더 좋은 방법이 있는지 질문 드립니다.

jetpack android kotlin

Answer 1

1

survivalcoding

어댑터나 홀더가 ViewModel의 인스턴스를 가지고 있는 것은 추천하지 않습니다.

안드로이드의 ViewModel은 특히 생명주기와도 밀접해서 이와 관계없는 어댑터나 홀더가 ViewModel의 인스턴스를 가지고 있을 때 잠재적으로 메모리 해제가 안 되거나 하는 문제가 있을 수도 있을 것 같습니다.

ViewModel에서 관리하는 데이터만 어댑터에 전달하는 것이 맞고요.

어댑터에서 특정 상황에 ViewModel을 조작하고 싶다면 콜백을 구현해서 조작하시면 됩니다.

0

BH Kim

감사합니다 callBack은 제가 좀더 공부를 해야 할거 같아서.. 인터페이스로 따로 처리를 해보려고 합니다. Adapter에서 viewmodel에 접근하면 안되는 이유까지 친절하게 설명해주시고 너무 감사드립니다

Room_DB코틀린 버전에서 에러 나시는 분들

1

294

1

Room db kotlin 관련질문

0

282

2

Room db kotlin 강의중에서

0

421

3

공적 마스크 조회 앱 자바 버전 질문입니다.

0

388

1

네비게이션 그래프

0

229

1

Repository에서 Error처리를 하고 싶은데 잘 모르겠습니다.

0

755

1

getAll을 직접부를 때 무한무프 질문있습니다.

0

209

1

라이브 데이터 + 데이터 바인딩 질문드립니다!

0

219

1

/?m=5000 에 대해서 질문드립니다.

0

228

2

@Inject lateinit var repository: MyRepository

0

286

1

이번편 강의의 3:52 부분까지 공부했는데 에러가 걸립니다

0

412

2

let이나 apply는 주로 어떤 상황에 사용하나요?

0

262

2

Call<StroeInfo> 를 StoreInfo로 바꾸는 부분 질문

0

240

1

Room DB 파일을 확인하고 싶어요.

0

2338

1

SavedStateHandle 앱 종료 시킨 후, 다시 열면 0으로 초기화 되어있습니다ㅠ

0

476

1

안녕하세요.

0

442

4

NullPointerException이 뜨는데 이것도 마스크 재고 API 중지 때문인가요

0

287

1

viewModel 질문 있습니다.

0

390

1

suspend

0

241

2

retrofit2에서 코루틴을 이용하는 이유가 무엇인가요?

1

275

2

UpdateItems 생성

0

149

1

질문있습니다.

1

235

3

질문있습니다!

0

269

1

리사이클러뷰 어댑터에서 뷰모델

0

238

1