굉장히 많이 쓰는 ListView에 대한 설명입니다.
1. 레이아웃에 ListView 만들기
2. Item 생성(ListItemView)
3. Adapter 만들기
4. Adapter 적용
끝 입니다.
자 그러면 하나씩 해 봅시다.
1. ListView 만들기
그냥 레이아웃에 리스트뷰 만들어주면 됩니다.
그러면 위의 화면과 같이 리스트뷰가 나옵니다.
자 이제 그렇다면 저 Item에 들어갈 레이아웃 틀을 만들어 봅니다.
2. Item 생성
리스트뷰에 한줄씩 들어갈 부분을 설정해주는 것입니다.
레이아웃 파일을 만들고
레이아웃을 에 Item Cell을 하나 설정해놓고
Item Cell이 나온 것을 확인해줍니다.
3. Adapter 만들기
자 그 다음에는 Adpater라는 것을 만들어서 ListView에 Cell을 넣어주는 작업을 합니다.
Adapter 라는 개념이 처음에는 조금 안 와닿을 수 있는데, Layout에 List를 하나씩 그린다 라고 생각하시면 됩니다.
아래의 설명을 천천히 읽어주세요.
일단은 MainListAdapter를 만들면은
아래와 같이 만들어집니다.
class MainListAdapter(val context: Context, val list :ArrayList<String>)
이 부분 부터 설명드리면 context는 안드로이드에 여러가지 기능을 핸들링 하기 위한 것인데 깊게 설명하면 끝이 없어서, 그냥 넘어갑니다.
Adapter에서는 adpater에 호출하는 Activity 정보를 가지고 있다. 정도로만 생각해주시면 될 것 같습니다.
list는 Adapter를 호출하는 MainActivity에서 Adapter에 하나씩 넣어줄 데이터들의 list를 adapter로 전달해준 것입니다.
자 그렇다면, 저기 자동으로 생성되는 4가지의 function 을 설명해보겠습니다.
getview = ListViewItem에 하나씩 데이터를 세팅해줍니다.
getItem = 전달받은 position 위치에 item 을 return 해줍니다.
getItemId = 해당 Item의 position을 return 해줍니다.
getCount = List의 갯수를 지정해줍니다.
getItem / getItemId 은 지금은 별로 중요한게 아니니, 이해가 안가도 그냥 넘어갑니다.
자 그렇다면 위의 함수를 하나씩 채워봅시다.
getView 에서 listview_item을 가져와서 "aaa"라는 텍스트를 넣어주고
getCount() 를 3으로 해준다.
그리고 MainActivity에서 adapter를 연결해준다.
자, 그렇다면 aaa가 3개 나옵니다.
list_sample 에 a,b,c를 추가해줍니다.
list.size 를 getCount()에 넣어줍니다.
지금은 list.size 크기가 3이고, 배열에 d,e 를 넣으면 5가 되겠죠?
그리고 view(listview_item)에 있는 text에 id 설정을 list_sample_text로 해주고 각각에 리스트에 있는 것을
view.list_sample_text.setText(list.get(p0)) 으로 넣어줍니다.
그러면 이렇게 리스트가 나옵니다.
끝. :)
'인프런 - 강의 > 1 - 누구나 할 수 있는 안드로이드 앱 개발 (Kotlin)' 카테고리의 다른 글
4-4 API + ListView + ListViewOnClick (0) | 2019.08.02 |
---|---|
4-3 Github API (0) | 2019.08.02 |
4-1 개요 (0) | 2019.07.27 |
3-4 app icon과 app name (0) | 2019.07.27 |
3-3 android splash 화면 (0) | 2019.07.27 |