AdapterViewAdapter와 AdapterView란?

어댑터 뷰는 말 직역하면 적응형 뷰라는 의미가 된다. 앱들을 보면 같은 틀에 다른 내용들이 포함되어 여러개로 나열된 경우를 많이 보았을 것이다. (ex. 카카오톡 친구목록, 페이스북 게시글, Pinterest의 게시글 등) 여기서 사용되는 하나의 틀은 AdapterView로 정의하고 입력할 내용들과 방식은 Adapter로 정의하여 정보들을 원하는 방식으로 나열하여 표현 할 수 있다. 

 

사용방식

기본적으로 ListView나 GridView를 통해서 하나의 View씩 나열 할 수 있다. 또한 Custom View를 제작하여 AdapterView로 사용함으로써 자신이 원하는 틀을 제작할 수 있다. 실제 개발에서는 후자의 경우가 많이 사용될 것이므로 이에 대해서 설명하도록 하겠다.

 


 

개발방법 

(customView를 수직으로 나열하도록 개발)

  1. 먼저 res->layout에 AdapterView로 사용할 customVeiw.xml 파일을 생성한다

  2. 자신이 원하는 View구성을 위 파일에 입력한다.

  3. View들을 나열할 액티비티로 이동해서 ListView listview를 추가한다.

  4. 나열할 데이터들을 가져와 배열을 생성함

  5. ListView객체를 생성하고 미리 생성한 ListVeiw를 참조함

  6. Adapter를 생성함

    1. 데이터를 가지고 있는 ArrayList<HashMap<String,Object>> dataList를 생성함

    2. 배열 내부의 HashMap을 참조하기 위해 key값이 나열된 배열을 생성 -> String[] keys

    3. 위에서 생성한 AdapterView의 내부 View아이디를 참조하기 위한 id 배열생성 -> String[] id

      1. **중요** 나중에 keys, id 배열들의 값이 각각 일대일 대응되어 데이터가 저장되므로 순서가 중요함

    4. Adapter를 만들어 준다

      1. SimpleAdapter ad = new SimpleAdapter( this,  dataList, R.layout.customView, keys,id);

        (keys와 ids 내부의 배열들이 인덱스 0 부터 일대일 대응이 되고 keys 배열 순서에 따라 dataList의 하나의 해쉬맵에서 value가 참조되어 ids에  일대일 대응 되어 삽입이 된다.)
    5. Adapter를 세팅해준다.

      1. listview.setAdapter(ad);

        

 

 

+ Recent posts