안드로이드 With Java #20 ListView1
메신저나 SNS 앱 같은 곳에서 내용물은 다르나 format이 비슷한 것들을 리스트로 뿌려주는 형태의 뷰
벨로그의 예
Inflater
에게 보내줌 Inflater
는 xml format을 꺼내와서 받은 내용을 xml fotmat에 따라 위치나 내용에 맞게 채워줌Activity
에 전달해서 List 한 칸을 그림위 과정을 반복하며 List의 모든 Item
을 부착하면 끝
ArrayList<String> stringList;
stringList = new ArrayList<>();
stringList.add("가");
stringList.add("나");
stringList.add("다");
stringList.add("라");
stringList.add("마");
stringList.add("바");
stringList.add("사");
list_view_item.xml
파일을 Layout
항목에 생성
LinearLayout
내부에 TextView
로 만들어줬음
LinearLayout
형태의 컨테이너 생성
먼저, LayoutInflater
를 MainActivity
의 context
기준으로 생성한다.
이후에 미리 만들어둔 stringList
의 크기만큼 반복하며 inflate()
메소드의 첫 파라미터에 아까 하나의 리스트 아이템을 표현하기 위해 만든 레이아웃인 list_item_view
를 찾아서 넣고 내용이 될 텍스트를 설정해준다.
그리고 ListView
를 담기 위한 container
에 addView()
메소드를 이용해 infalter
로 만들어준 view
를 계속 추가해준다.
아이템을 클릭하면 토스트 메세지로 무엇을 클릭했는지 나오게 만들어보았다.
잘 작동한다.
Toast
메세지를 사용할 때는 언제나 .show()
메소드를 사용해야 메세지가 뜸을 유의하자