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

qwerty111222님의 프로필 이미지

작성한 질문수

[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)

itmeView, converView 가 궁금합니다.

24.07.05 22:26 작성

·

74

0

inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {

    fun bindItem(item : ContentModel) {
        val rv_img = itemView.findViewById<ImageView>(R.id.rvImageArea)
        val rv_text = itemView.findViewById<TextView>(R.id.rvTextArea)

        rv_text.text = item.titleText
        Glide.with(context).load(item.titleImageUrl).into(rv_img)
    }
override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View? {
    var convertView = convertView
    if (convertView == null) {

        convertView = LayoutInflater.from(parent?.context).inflate(R.layout.listview_item, parent, false)
    }

    val date = convertView?.findViewById<TextView>(R.id.ListViewDateArea)
    val memo = convertView?.findViewById<TextView>(R.id.ListViewMemoArea)

    date!!.text = List[position].date
    memo!!.text = List[position].memo


    return convertView
}

안녕하세요 개발자님. 개발자님 좋은 강의 덕분에 많이 배우고, 강의 완강했습니다. 감사합니다.

공부 하면서 매번 궁금한 점이 있어서 질문 남깁니다.

첫번째 코드는 리사이클러뷰 어뎁터 코드이고, 두번째 코드는 리스트뷰 어뎁터 코드입니다. 리사이클러뷰 어뎁터에서는 itemView, 리스트뷰에서는 convertView를 사용하셨는데,

 

단순히 리사이클러뷰-itmeView 사용, 리스트뷰-converView 사용이라고 생각하면 될까요?

혹시 차이가 있다면 itmeView와 converView의 차이점도 알고싶습니다. 감사합니다.

답변 1

0

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

2024. 07. 06. 11:04

안녕하세요

"단순히 리사이클러뷰-itmeView 사용, 리스트뷰-converView 사용이라고 생각하면 될까요?"

이렇게 생각하셔도 공부 초기에는 별 상관이 없을 것 같습니다.

다만 가장 중요한 차이점은 View의 재활용 방식인데요.

https://velog.io/@dabin/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9CRecycle-View

이 부분에서 자세히 설명해주신 것 같으니 참고해보시겠어요?

 

사실 간단하게는 RecyclerView와 ListView에서 View를 재활용하는 방식이 달라서 저렇게 쓴다

라고 이해하시고 처음에 넘어가시고

나중에 View의 성능이나 UI/UX적인 부분을 고민하실 때 깊게 한번 보고 가셔도 좋을 것 같습니다.

 

말씀주신 질문은 종종 안드로이드 개발자 기술면접 질문에 등장하는 것이라

좋은 방법으로 공부하고 계신 것 같습니다!

qwerty111222님의 프로필 이미지
qwerty111222
질문자

2024. 07. 06. 21:18

정말 큰 도움이 되었습니다.^^ 답변 감사드립니다.