xml프리뷰에서는 목록이 나타나지만 , 실제로 실행하면 아무것도 안나오는게 정상.
리스트뷰는 Adapter의 도움을 받아 내용목록을 출력. (아직 어댑터 작업X)
기초 뼈대 작업 (기본 xml 만 화면에 등장)
어댑터들은 adapters 패키지에 따로 관리 (없다면 새로 생성)
어댑터 클래스도 새 kotlin 클래스로 생성
-> 이름짓기 : ~~Adapter 로 짓자. 어떤 목록을 뿌려주는 어댑터인지 알 수 있도록.
이클래스가 ArrayAdapter를 상속받는다고 명시하자
->:ArrayAdapter<뿌려줄데이터클래스>()
->ArrayAdapter는 기본생성자 ()을 지원하지않는다. => 에러 발생.
어댑터를 만들때 생성자에게 재료를 받아다 부모에게 넘겨줘야 에러해결
어댑터의 주 생성자에서 필요한 재료를 받자.
class 어댑터클래스(val mContext: Context, val resId:Int, val mList:List<뿌려줄데이터클래스>
주 생성자에서 받은 재료를 순서대로 부모에게 넘기자.
=> ArrayAdater<데이터클래스>(mContext, resId, mList)
xml을 가지고 => 객체로 변환해주는 (화면에 뿌리도록 도와주는) 변수를 멤버변수로 생성.
val inf = LayoutInflater.from(mContext)
getView 함수를 오버라이딩 => 기본 모양 X, 우리가 원하는 모양이 뿌려지게 하려고 오버라이딩.
convertView 변수를 => var tempRow에 옮겨담아서 => null 인 경우에는 새로 inflate 해서 담자.
var tempRow = convertView
if (tempRow == null) {
tempRow = inf.inflate(R.layout.한줄xml, null)
}
액티비티의 "멤버변수"로 ArrayList 생성.
val 목록변수이름 = ArrayList<뿌려줄데이터클래스>()
실제 뿌려줄 데이터들을 ArrayList변수에 추가해주자.
1)직접 코드에 타이핑 해서 연습용 데이터를 추가
2) 서버에서 내려주는 목록 데이터를 받아서 ArrayList에 담아준다.
어댑터 뷰 부터 너무너무 어렵습니다...ㅠㅠ!! 이번 3주간 도 화이팅 합시다..!!