2010-07-28 5 views
18

이미지 격자를 만들 예정이며 배열 어댑터 또는 baseadaptor를 사용할지를 결정하려고합니다. GridView example은 배열에 데이터를 저장하지만 ArrayAdaptor가 아닌 BaseAdapter를 사용합니다. 왜 그런지 궁금합니다. 내가 ArrayAdapter에 대해 알아챈 한 가지는 그 알려지지 않은 이유로 textViewResourceId을 가져 오는 것입니다. 문서에서 getView를 사용하여 다른 종류의 뷰와도 함께 사용할 수 있다고 말합니다. 메뉴에 고정 된 격자 이미지가 필요한 경우 어떤 클래스를 선택 하시겠습니까?BaseAdapter 또는 ArrayAdaptor - Android

답변

48

일반적으로 모델 데이터가 무엇인지에 따라 어댑터 클래스를 선택합니다. 객체가 ArrayList 인 경우 ArrayAdapter을 사용하십시오. 데이터베이스 쿼리에서 Cursor이 있으면 CursorAdapter을 사용하십시오. BaseAdapter은 무엇이든 사용할 수 있지만 데이터를 반복하는 방법에 대한 타고난 지식이 없으므로 더 많은 코딩이 필요합니다.

+0

'ArrayAdaptor'를 사용하면 텍스트가 아닌 이미지를 사용하고있는'textViewResourceId'로 무엇을 할 수 있습니까? – Casebash

+1

@Casebash : 무시하고,'getView()'를 오버라이드하고, 필요한 것을 반환하십시오. – CommonsWare

+0

하지만 뭔가를 전달해야합니다. 0은 정상적으로 작동합니까, 아니면 -1이 더 좋을까요? – Casebash

관련 문제