코린이 탈출기

chapter 6.2 - 리스트뷰 만들기 (1) - 기초 재료 만들기 본문

인터넷 강의/클래스101 - 비전공자들을 위한 나만의 안드로이드 앱 만들기

chapter 6.2 - 리스트뷰 만들기 (1) - 기초 재료 만들기

50HEE 2021. 5. 8. 12:58

이번에는 리스트뷰를 직접 만드는 것을 해보겠습니다.

총 3개로 나누어져있습니다.

이름과 출생 연도 작성을 예시로 들어보겠습니다.

 

 

 

ListView 실행

액티비티(xml) 화면에 목록을 표현하기 위한 리스트뷰를 배치하고 id를 부여하였습니다.

xml 프리뷰에서는 목록이 나타나지만, 에뮬레이터를 실행을 하면 아무것도 나오지 않습니다.

이유는 리스트뷰는 Adapter의 도움을 받아 내용 목록을 출력하기 때문입니다.

즉, 아직 Adapter 작업을 하지 않았기 에뮬레이터에 아무것도 안나오는 것이 정상입니다.

 

 

 

이번에는 리스트뷰에 뿌려줄 데이터들을 표현하는 클래스를 만들어보겠습니다.

데이터 클래스가 따로 없기 때문에 새로 만들어줍니다. 

 

패키지 새로 만들기

데이터 클래스를 만들어 주기 전에 정리를 간단하게 하기 위해 데이터 클래스들을 별로도 datas 패키지에 관리해줍니다.

datas 패키지가 따로 없기 때문에 새로 만들겠습니다.

 

위의 그림처럼 클릭을 하면 아래의 박스가 생성됩니다.

패키지의 이름은 처음 액티비티를 새로 만들 때 작성했던 이름이 자동으로 작성되고, '.' 뒤에 원하는 패키지 명을 설정합니다.

패키지 이름 설정

 

 

코틀린 클래스 만들어 주기

패키지를 만들면 그 안에 아까 말한 데이터 클래스를 만들어줍니다.

 

클래스 이름 설정

클래스의 이름은 보통 첫글자를 대문자로 작성해줍니다.

 

 

데이터 클래스 작성

클래스의 생성자에게 'val 변수 이름: 타입'을 나열해서 클래스가 가져가야 하는 정보 항목들로 설정해줍니다.

여기서 생성자란 클래스 이름 뒤에 나오는 ( )를 말합니다. 생성자에 대한 자세한 내용은 이후에 다룰 것입니다.

생성자에는 학생 한명의 정보에 무엇을 넣어 줄 것인지를 변수로 설정해줍니다.

위는 이름과 출생 연도를 설정하였습니다.

원하는  정보를 더 설정하고 싶을 경우에는 콤마(,)를 추가하여 작성하면 됩니다. String은 문자, Int는 정수입니다.

후기에는 서버가 내려주는 데이터들을 저장하기 위한 멤버 변수를 var로 설정하여 생성할 것입니다.

 

 

 

이제 데이터가 뿌려질 한 칸(한 줄에 해당하는)의모양을 xml로 설정합니다.

기존의 xml은 액티비티 모양을 결정하는 것입니다.

하지만 지금 만들 것은 리스트뷰에 한 칸에 해당하는 xml을 만드는 것입니다. 그러기 위해 xml을 따로 추가하겠습니다.

 

xml 새로 만들기

위와 같이 클릭하면 아래와 같은 상자가 만들어집니다.

 

xml 이름 설정

xml 이름의 경우 그림 파일을 이미지뷰에 추가했던 것처럼 작성해줍니다.

대문자나 한글로 작성할 경우 xml을 추가할 수 없습니다.

즉, 영소 문자와 숫자, 그리고 언더바( _ )의 조합으로 작성해주어야 합니다.

~_list_item의 양식으로 지어주는 것이 일반적입니다.

 

 

 

마지막으로 한 칸에 해당하는 xml을 작성해줍니다.

 

한 칸에 해당하는 xml 작성

위와 같이 코드를 작성하였습니다.

화면 그리는 것과 같은 요령으로 한 칸에 해당하는 xml 모양을 작성해 주면 됩니다.

예시로 이름과 출생 연도를 보여주도록 설정하였습니다.

 

 

 

다음 챕터는 Adapter을 이용하는 방법을 보겠습니다.

Comments