본문 바로가기
프로젝트 기록/android

[android/안드로이드] ListView 리스트뷰 정리

by 새아SaeA 2020. 2. 6.

ListView 정리

 

  1. main.xml에 ListView를 둘 공간을 만든다.
  2. MainActivity.java에서 listView Adapter class를 생성한다. (extends BaseAdapter)
  3. list를 담을 객체를 생성한다. ArrayList = item new Arraylist();
  4. generate를 통해 필요한 메서드를 구현한다. | getCount, getItem, getItemId, getView
  5. 데이터가 담길 java class file을 생성한다.
  6. 그 안에 데이터가 될 변수를 정의한다. ex) name, phone, address, etc..
  7. generate > Constructor,  getter and setter, toString 
  8. MainActivity.java에서 getView를 실행하기 위해 ListView의 item을 위한 layout을 만든다. (새로운 xml 파일 생성)
  9. listViewItem layout과 연결할 java파일을 만든다. (layout의 최상위 layout을 superclass로 상속받는다.)
  10. generate를 통해 두 개의 메서드를 생성하고 초기화를 위한 메서드를 작성한다.
  11. init메서드를 만들어 context를 파라미터로 받고, 그 안에 LayoutInflater로 인플레이션 한다. 
  12. 이렇게 되면 item을 위한 layout에 있는 각 요소들을 불러올 수 있다.
  13. init메서드 내부에 데이터를 담을 위젯들을 findViewById를 통해 불러온다. + 타입을 없애줘야 변수에 할당 가능
  14. init 메서드 외부에 데이터가 될 변수들을 메서드로 만든다. 
  15. 그 안에 item에 있는 위젯에 데이터를 넣는 코드를 작성한다. ex) textName.setText(name);
  16. 그리고 MainActivity.java의 getView로 돌아와서 만든 itemView를 적용시킨다. itemView에 대한 객체를 생성하고 position을 받아와 보여준다. 
  17. 외부에서 데이터를 입력하여 받고 싶다면 getCount다음에 addItem이라는 메서드를 생성한다.
  18. 마지막으로 onCreate으로 가서 listVIew에 Adapter를 연결하여 화면에 보이게 한다.
  19. 추가로 listItem을 클릭 시 다른 기능을 추가하고 싶다면 onItemClickListener를 이용한다.