Ho intenzione di creare una griglia di immagini e sto cercando di capire se utilizzare un adattatore di array o un baseadaptor. Mentre lo GridView example memorizza i dati in un array, utilizza un BaseAdapter piuttosto che un ArrayAdaptor. Sono curioso di sapere perché è così. Una cosa che ho notato di un ArrayAdapter, è che il suo costruttore prende uno textViewResourceId
per qualche motivo sconosciuto - sebbene la documentazione dica che il getView può essere usato per farlo funzionare anche con altri tipi di viste. Quindi, se voglio una griglia fissa di immagini per un menu, quale classe consiglieresti di scegliere?BaseAdapter o ArrayAdaptor - Android
18
A
risposta
48
Generalmente si sceglie la classe dell'adattatore in base a quali sono i dati del modello. Se si dispone di un ArrayList
oggetti, utilizzare ArrayAdapter
. Se si dispone di un Cursor
da una query di database, utilizzare un CursorAdapter
. BaseAdapter
può essere utilizzato per qualsiasi cosa, ma richiede più codice, dal momento che non ha una conoscenza innata su come iterare sui dati.
Problemi correlati
- 1. Quale adattatore usare - BaseAdapter o ArrayAdapter?
- 2. BaseAdapter: imposta hasStableIds() su false?
- 3. BaseAdapter vs CursorAdapter
- 4. come aggiornare listview personalizzato utilizzando baseadapter in Android
- 5. Come ottenere il contesto per BaseAdapter in Android
- 6. Come personalizzare ListView utilizzando baseadapter
- 7. ListView con più tipi di layout di fila - BaseAdapter non funziona correttamente in Android
- 8. Chiamare il BaseAdapter di Android notifyDataSetChanged() da un metodo di callback del listener
- 9. Come implementare getFilter() con adattatore personalizzato che si estende baseadapter
- 10. Eliminazione di elementi da un ListView utilizzando un BaseAdapter personalizzato
- 11. BaseAdapter notifyDatasetChanged() chiamato ma getView() non viene mai chiamato
- 12. Come implementare il filtro per BaseAdapter personalizzato con ListView?
- 13. BaseAdapter che provoca l'eliminazione dell'ordine di ListView durante lo scorrimento
- 14. Come aggiornare ListView in Fragment riempito con BaseAdapter?
- 15. Per quale obiettivo Android dovrei sviluppare? Android 4.4W o Android 4.4L o Android 4.4 kitkat?
- 16. gestore o timer android
- 17. Android - quale usare Attivo Realm Android o
- 18. Grafici Android: achartengine o AndroidPlot?
- 19. Python per IOS o Android
- 20. SQLite Android INSERISCI o SOSTITUI
- 21. SQLite Android Inserisci o Aggiorna
- 22. DefaultHttpClient o HttpURLConnection su Android
- 23. Utilizzo di Butter Knife in Custom BaseAdapter Risultati sottoclasse in errore "Impossibile iniettare viste"
- 24. Come mostrare Toast in una classe estesa da BaseAdapter Ottieni il metodo di visualizzazione
- 25. Asio o Boost.Asio funzionano su iPhone o Android?
- 26. Android Salvare le immagini su SQLite o SDCard o memoria
- 27. Android: SSO di Google - OAuth o AccountManager? O entrambi?
- 28. O Foto o Live Face Come verificare con Android Camera
- 29. Quale IDE Android è migliore: Android Studio o Eclipse?
- 30. Android openGL ES glDrawArrays o glDrawElements?
Se utilizzo 'ArrayAdaptor', cosa devo fare con' textViewResourceId' dato che sto usando immagini piuttosto che testo? – Casebash
@Casebash: ignoralo, sovrascrivi 'getView()' e restituisci quello che ti serve. – CommonsWare
Ma devi passare qualcosa. Funzionerebbe 0 o sarebbe -1 essere migliore? – Casebash