2010-07-28 50 views
18

我打算做一個圖像的網格,我試圖找出是否使用數組適配器或baseadaptor。雖然GridView example將數據存儲在數組中,但它使用BaseAdapter而不是ArrayAdaptor。我很好奇這是爲什麼。有一件事我注意到了ArrayAdapter,它的構造函數由於一些未知的原因需要一個textViewResourceId--儘管文檔說getView也可以用來使其與其他類型的視圖一起工作。所以,如果我想要一個固定的圖像網格菜單,你會推薦選擇哪一個類?BaseAdapter或ArrayAdaptor - Android

回答

48

您通常根據模型數據選擇適配器類。如果您有一個ArrayList的對象,請使用ArrayAdapter。如果您的數據庫查詢中有Cursor,請使用CursorAdapterBaseAdapter可用於任何事物,但它需要更多的編碼,因爲它沒有關於如何遍歷數據的內在知識。

+0

如果我使用'ArrayAdaptor',如果我使用圖像而不是文本,我該如何處理'textViewResourceId'? – Casebash 2010-07-28 04:42:57

+1

@Casebash:忽略它,覆蓋'getView()',並返回你需要的。 – CommonsWare 2010-07-28 05:26:55

+0

但是你必須通過一些東西。0會工作好還是會更好? – Casebash 2010-07-28 05:36:55