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

BIKMIM님의 프로필 이미지
BIKMIM

작성한 질문수

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

리스트뷰(ListView)와 어댑터(Adapter)에 관한 설명

ㅋㅋㅋ

작성

·

422

1

여태까지 잘 따라왔었는데

갑자기 헛웃음이 나올정도로 어렵네요 ㅋㅋㅋ

설명도 너무 짧고 빠르고 진짜 하나도 이해가 안되는데

그래도 뭐 문법이 원래 저렇게 생긴거려니 하면서

일단 따라서 코드만 타이핑 하면 어떻게든 되겠지하면서

따라 했더니 에러나고.. 멘붕이 왔는데요 ㅎㅎ

package com.bikmim.listview_ex

import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.BaseAdapter

class ListViewAdapter(val List : MutableList<String>) : BaseAdapter() {
override fun getCount(): Int {
return List.size
}

override fun getItem(p0: Int): Any {
return List[position]
}

override fun getItemId(p0: Int): Long {
return position.toLong()
}

override fun getView(p0: Int, p1: View?, p2: ViewGroup?): View {
var converView = convertView

if(converView == null){
converView = LayoutInflater.from(parent?.context).inflate(R.layout.listview_item, parent, false)
}

return converView!!
}
}

에러는 이렇게 났어요.

e: D:\Android-Studio-Works\listView_ex\app\src\main\java\com\bikmim\listview_ex\ListViewAdapter.kt: (14, 21): Unresolved reference: position

일단 마음을 다 잡고, 

동영상 2번째 시청 해 보고

구글링도 한번 해 보겠습니다. ㅠㅠ

답변 3

0

저도 저렇게 자동으로 p0 이렇게 떴는데 버전이 달라서 그런가요???

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

네 맞습니다. 버전 혹은 OS(윈도우 /맥)의 차이입니다.

p0 <-> position 둘 중 하나로 통일해서 사용해주시면 됩니다.

0

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

override fun getItemId(p0: Int): Long {
return position.toLong()
}

이 부분도 p0 -> position으로 변경해주셔야 합니다~

0

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

안녕하세요?

override fun getItem(p0: Int): Any {
return List[position]
}

이 부분에 오타가 있는 것 같습니다

p0 -> position 으로 변경해주셔야 합니다.

제가 첨부드린 코드와 한번 비교해서 살펴보시곘어요?

코드 파일 위치를 잘 모르시면 아래 글 참고해주세요~

https://www.inflearn.com/questions/259599

BIKMIM님의 프로필 이미지
BIKMIM

작성한 질문수

질문하기