[안드로이드] 어댑터뷰를 사용하여 데이터 바인딩하기

반응형




읽기전에 손가락 한번 클릭~ >_<

고마워요 ~ Chu ~ ♥


  어댑터 뷰에 관한 글입니다.


어댑터 뷰를 사용하여 데이터 바인딩하기

어댑터 뷰 ( AdapterView ) 는 뷰 그룹( ViewGroup ) 의 서브클래스 입니다.

이것의 자식뷰들은 여러타입의 데이터를 바인드(bind) 하는 어댑터에 의해 결정되는데 어댑터 뷰는 레이아웃 안에 저장된 데이터를 표시할 때 주로 사용됩니다.

갤러리(Gallery), 리스트 뷰(ListView) , 스피너(Spinner) 등이 특정 타입의 데이터를 바인드하여 표시하는 어댑터 뷰 서브클래스에 대한 좋은 예제입니다.

어댑터 뷰 객체는 두가지의 일을 하는데요,
1. 레이아웃을 데이터로 채우기
2. 사용자가 선택한 것을 처리하기

레이아웃에 데이터 삽입은 일반적으로 어댑터 뷰 클래스를 어댑터에 바인딩 하는것으로 이루어집니다.
어댑터는 코드의 리스트 또는 DB 의 쿼리 결과 같은 외부 소스로부터 데이터를 가져오는 역할을 합니다.


예제



1. 예제 소스에서 이미 존재하는 뷰를 사용하여 스피너를 생성하고, 리소스의 배열을 읽어들이는 새로운 어레이어댑터(ArrayAdapter) 에 스피너를 바인드 합니다.

2. 또 다른 스피너 객체를 뷰에서 생성하고, 데이터를 읽어들이는 심플커서어댑터(SimpleCursorAdapter) 에 해당 스피너를 바인드 했습니다.
커서어댑터(CursorAdapter) 에 사용되는 프로젝션에서 " People._ID " 칼럼을 가지는 것에 주의하세요. 그렇지 않으면 예외가 발생합니다.
만일 어플리케이션이 존재하는 동안에 어댑터에 의해 읽혀지는 데이터를 바꾸게 된다면 notifyDataSetChanged() 메소드를 호출해야 합니다.


이 메소드는 어댑터뷰에게 데이터가 변경되었기 때문에 갱신하라고 알리는 역할을 합니다.




어댑터뷰에서 사용자 선택을 처리하기

이제 어댑터뷰에게 사용자와 상호작용 할 수 있는 기능을 리스너로 만들어 적용해야 합니다.

클래스의 AdapterView.OnItemClickListener 를 멤버로 선언한 후 리스너로 등록합니다.
그리고 여기에서 사용자의 선택을 처리하면 됩니다.



끝~






어댑터 뷰에 관한 내용이었습니다.
특히 리스트로 무슨 작업, 메뉴등을 뿌릴 때 유용하게 사용됩니다.
어댑터 개념은 조금은 복잡하기에 자주 소스를 봐야할것 같습니다~

다음 글은 레이아웃에 관한 글입니다.

 



반응형

댓글

Designed by JB FACTORY