마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

recyclerview context 오류

0 추천
리사이클러뷰를 사용하려

binding.recyclerViewNote.layoutManager = LInearLayoutManager(this,LinearlayoutManager.HORIZONAL, false)

를 했는데 this 부분에서

Type mismatch: inferred type is FragNoteSeries but Context! was expected 라는 오류가 뜹니다.

리사이클러뷰 연습하려 만들었던 다른 모듈에선 똑같이 코드 작성 해도 오류가 뜨지 않던데 왜 그럴까요?
lgh (290 포인트) 님이 2021년 11월 6일 질문

1개의 답변

0 추천
 
채택된 답변

LienarLayout의 생성자에 필요한 타입과 님이 전달한 타입이 일치하지 않는 듯 합니다.

public LinearLayoutManager (Context context, 
                int orientation, 
                boolean reverseLayout)

위처럼 생성자를 보면 첫번째가 Context  타입입니다. 따라서 님의 코드에서 넘기신 this는 Context를 상속받아야 하는데 FragNoteSeries 는 그렇지 않은 것 같네요. 이름으로 보면 프레그먼트 같은데 프레그먼트는 Context의 하위 타입이 아니기 때문에 프레그먼트를 인스턴스를 가리키는 this는 사용할 수 없고, 대신에 context(Nullable)나 requireContext(NotNull) 를 사용하시면 됩니다.

spark (227,470 포인트) 님이 2021년 11월 6일 답변
lgh님이 2021년 11월 6일 채택됨
...