작성
·
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
또한, 에러가 어떻게 나오는지 알려주시면 저도 코드를 한번 돌려보겠습니다.
다른곳에서 오타가 있어서 오류가 났던것 같습니다. 처음부터 차근차근 코딩하니 오류가 안나네요. 답변 감사합니다.