ListView를 만들어보는 예제를 해보았습니다. 몇 가지 알게 된 점을 적도록 하겠습니다.
예제의 순서는 이렇습니다.
메인 액티비티 <- Custom ListView inflation <- Data Set
의 순서로 구성되어 있습니다.
ListView는 기본적으로 Adapter를 부착시켜 item들을 뿌려준다고 생각하시면 쉽습니다.
View로서의 역할만 해주는 것이죠. 그래서 코드에서는 Adapter가 View를 인식시키도록 코드를 짜야합니다. 그 부분이 getView부분입니다.
Adapter 부분은 BaseAdapter을 상속받았고, 필요한 것들은 자동으로 implementation을 이용하시면 됩니다.
가장 중요한 부분은 getView부분입니다. getView에서는 자신이 등록한 ArrayList의 아이템을 각각가져와서 inflate해주게 됩니다.
( 이 부분에서 겪었던 오류는 여러분이 implementation하면 getCount도 자동으로 Override해주게 되는데, return 0으로 기본값이 설정되어 있을겁니다. 이것을 size대로 변경시켜주지 않고 그대로 실행시키면 getView 부분에서 getCount를 가져오는지 확인은 해보지 않았지만, 아무리 아이템을 등록해주어도 결국 0으로 인식하는 것을 볼 수 있습니다. 실제로 Adapter에 등록조차 되지 않더군요. -> 확인 필요)
CustomList를 만들고 inflate해주는 부분입니다. (R.layout.listview_items 는 custom ListView입니다.)
다음 사진은 Custom List View에 데이터를 입력시켜주는 부분 중 일부입니다.
또한, ListView에 갱신하는 부분에서 notify method를 사용하지 않아도
onResume부분에 다시 Adapter를 부착시키면 갱신시킬 수 있다는것을 확인하실 수 있습니다. ( 추천드리진 않습니다. 많이 좋지 않은 방법입니다. 편의상 해놓은 것이에요)
다른 기본적인 예제는 구글링하시면 쉬운예제가 많아 설명하지 않았고, 예제를 해보면서 겪은 현상을 정리하였습니다.
'# 기타 공부한 것들 > Android' 카테고리의 다른 글
Nevigation View 만들기 (0) | 2018.07.26 |
---|---|
Toobar, appbar 경계선 없애기 (0) | 2018.07.25 |
Fragment(프래그먼트) 만들기 (0) | 2018.07.15 |
(MAC) Android Studio 단축키 (0) | 2018.07.01 |
Android Project Review with BP(2) (0) | 2018.06.18 |