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

ffffqwer345님의 프로필 이미지
ffffqwer345

작성한 질문수

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

리스트뷰(ListView) 복습 및 리스트뷰 아이템 클릭 이벤트 처리

안녕하세요. 강사님 리스트뷰 에러떄문에 질문드립니다.

작성

·

241

0

현재 안드로이드 스튜디오 버전은 fox 입니다.

리스트뷰 생성할떄 강사님 화면과 다르게 인자가 p0, p1, p2로 생성됩니다. 

인자가 최신버전에서는 다르게 생성될수 있다고는 이해를 하는데요.. 문제는 p0, p1, p2 로 생성된 인자로 리스트뷰를 생성해서 가상디바이스나, 물리디바이스 모두 실행이 안되고 바로 팅깁니다. 제가 일일히 손으로 position, convertView, parent로 바꾸면 안팅기고 물리기계나, 가상기계에서 정상적으로 실행이 되네요;; 이럴경우는 어떻게 해야 할까요? 매개변수가 바뀌었다고 해서 버그성으로 실행이 안되니 답답합니다...ㅜㅜ 답변 미리 감사드립니다.. 물리기계는 안드로이드 9 버전입니다

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

package com.bokchi.listview_second

import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.BaseAdapter
import android.widget.TextView
import androidx.core.content.contentValuesOf


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

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

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

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 title = convertView!!.findViewById<TextView>(R.id.listviewItemText)
title.text = List[position]

return convertView!!
}

}
*/

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

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

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

override fun getView(p0: Int, p1: View?, p2: ViewGroup?): View {
TODO("Not yet implemented")
var convertView = p1

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

val title = convertView!!.findViewById<TextView>(R.id.listviewItemText)
title.text = List[p0]

return convertView!!
}


}

 

 

답변 1

0

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

저.. 제 예상으로는

override fun getView(p0: Int, p1: View?, p2: ViewGroup?): View {
TODO("Not yet implemented")

여기 TODO 부분을 안 지워서 그런 것 같은데 한번 지우시고 시도해보시겠어요?

https://yerintil.tistory.com/41

 

또한, 에러가 어떻게 나오는지 알려주시면 저도 코드를 한번 돌려보겠습니다.

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

다른곳에서 오타가 있어서 오류가 났던것 같습니다. 처음부터 차근차근 코딩하니 오류가 안나네요. 답변 감사합니다.

ffffqwer345님의 프로필 이미지
ffffqwer345

작성한 질문수

질문하기