Différence entre ArrayAdapter et ListAdapter dans Android?
Je sais que ListAdapter est une interface et ArrayAdapter est une classe. Nous ne pouvons donc instancier ArrayAdapter. J'ai rencontré un code
ListAdapter adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, songNames);
Mais j'ai été capable de faire la même chose avec
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, songsArray);
Donc, je veux savoir, dans quels lieux exacts avons-nous besoin de ListAdapter ?
Merci
source d'informationauteur AnujAroshA | 2011-11-14
Vous devez vous connecter pour publier un commentaire.
Ce n'est pas lié à Android. Mais un Java question.
Lorsque vous utilisez
ListAdapter
que le type de la variable, vous êtes vraiment intéressé dans l'interface. Vous ne pouvez pas être intéressé en appelant une méthode spécifique deArrayAdapter<String>
pas disponible dansListAdapter
. C'est principalement parce que vous suffit d'attribuer à l'adaptateur, comme la liste d'adaptateur pour la vue.Vous pouvez utiliser le type de
ArrayAdapter<String>
si vous avez vraiment besoin de les appeler des méthodes spécifiques.Tout dépend de votre cas d'utilisation.
BaseAdapter
C'est une très générique adaptateur qui permet de faire à peu près tout ce que vous voulez.
C'est une classe de base de tous les adaptateur.
ArrayAdapter
Ses une implémentation plus complète qui fonctionne bien pour les données dans des tableaux ou ArrayLists.
De même,il CursorAdapter que vous devriez utiliser si vos données sont dans un Curseur.
Deux de ces étendre BaseAdapter