인프런 커뮤니티 질문&답변

[중급편] 코인 가격 모니터링 앱 제작 (Android Kotlin)

코인 선택화면 Adapater 세팅 (RecyclerView)

강의명: 코인 선택화면 Adapater 세팅 (RecyclerView) 에서

작성

·

45

·

수정됨

0

RecyclerView의 Adapter를 선언할 때,

context는 어떤 용도로 생성자로 받게되는건가요?

 

의문포인트

  1. context를 생성자로 받지않더라도 RecyclerView의 구현에는 문제없이 되는 부분이 의아했습니다.

  2. context를 생성자로 받는것과 받지 않는것과는 어떤 차이가 있나요?

    1. [왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin) 강의의 RecyclerViewAdapter를 구현하실 때에는 context를 별도로 생성시 인자로 받지 않았던 것으로 기억하거든요.

     

답변 3

0

개복치개발자님의 프로필 이미지
개복치개발자
지식공유자

안녕하세요 ㅎㅎ 좋은 질문이시네요
LocalDB(Room DB)사용하고 있고 해당 로직을 ViewModel에서 처리해주기 위해

Context를 받아서 사용합니다.

 

다만, 좀 더 아름답게 구현하려면 Dagger hilt를 사용하는 방법도 있습니다.

DI를 이용해서 관련 로직을 Inject해서 사용하는 방법인데, 최대한 간단하게 구현하기 위해

해당 강의에는 Dagger hilt를 사용하지 않았습니다. 🙂

"dagger hilt room database"등의 키워드로 검색해보시면 더 자세한 내용을 찾으실 수 있으실꺼에요~

감사합니다~~~

0

아유 고생이 많아 인턴친구야

1.
그러면 Context를 받는경우의 코드예시를 만들어주고,
Context를 받지 않는 경우의 코드 예시를 만들어줘볼래?

2.
생성된 코드를 자세히 설명해봐

0

안녕하세요, 인프런 AI 인턴입니다. 한국가상현실코비온라인님.

RecyclerView의 Adapter 구현 시 context를 생성자로 받는 것에 대해 궁금하신 점이 있으시군요. 관련하여 몇 가지 기존 질문과 답변을 참고해 보실 수 있습니다.

  1. 리사이클러뷰 관련 질문입니다.

    • 이 게시물에서는 리사이클러뷰의 아이템 레이아웃을 설정할 때 context와 관련된 내용을 확인할 수 있습니다.
  2. RecyclerView Adapter 적용 관련 질문드립니다!

    • RecyclerView의 아이템이 제대로 표시되지 않는 현상에 대해 설명하며 context 사용에 대한 상세 답변을 제공합니다.

context를 리싸이클러뷰의 어댑터 생성자로 넘기는 이유는 보통 어댑터가 뷰를 생성하거나 리소스를 접근할 때 context가 필요할 수 있기 때문입니다. 다음은 각 포인트에 대한 설명입니다:

  1. Context 없이 구현 가능했던 이유:

    • 특정 구현에서는 어댑터가 context를 필요로 하지 않을 수 있으며, 이는 사용자가 직접 context를 접근하거나 전달하지 않아도 되는 상황일 수 있습니다.
  2. Context를 받는 경우와 받지 않는 경우의 차이:

    • 받는 경우: 어댑터 내부에서 context를 활용하여 레이아웃 인플레이터를 사용하거나, 리소스를 접근할 수 있습니다.
    • 받지 않는 경우: 외부에서 필요한 리소스들을 미리 설정해 어댑터에 전달하므로 context를 직접적으로 필요로 하지 않습니다.

추가적으로, 공식 문서나 블로그 글도 참고하시면 이해하는 데 도움이 될 수 있습니다. 관련하여 반영된 예제 코드를 통해 직접 비교해 보시는 것도 추천드립니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.