Aller au contenu

HashMap ou BaseAdapter pour une liste


Flowcki

Recommended Posts

Bonjour,

Je regardais différent tuto sur les listview et je voulais savoir si le HashMap était plus adapté qu'un BaseAdapter ?

Quand je vois qu'avec un BaseAdapter il faut implémenter une interface, je trouve ça fastidieux, alors qu'avec un hashmap il suffit d'utiliser l'écouter setOnItemClickListener sur notre liste, ou alors le HashMap ne peut s'utiliser avec une base de donnée sqllite ?

Qu'utilisez vous pour être rapide tout en étant efficace ?

Merci d'avance.

Lien vers le commentaire
Partager sur d’autres sites

L'Adapter est bien plus adapté pour s'interface avec une ListView. Tu déclares ton activité comme étant une ListActivity, et tout s'imbrique tout seul naturellement, c'est de loin plus simple que de bidouiller avec des listeners pour accrocher un HashMap à ta liste.

De plus avec SimpleCursorAdapter le lien avec une BDD est ultra-simple. Tu n'es pas obligé de tout implémenter tu sais, il y a déjà un tas de classes *Adapter qui implémentent cette interface :)

Lien vers le commentaire
Partager sur d’autres sites

Avec une listActivity on peut utiliser des données venant de sqlite ?

Si c'est le cas je pourrais avoir un exemple simple pour mettre les données dans un tableau ? Si on prend des données brut on écrit String[] monTableau = {"un","deux", "etc"}; et pour du SQL ?

Lien vers le commentaire
Partager sur d’autres sites

Je crois que tu confonds un peu tout ^^

Le modèle, ce sont tes données.

Ca peut venir d'une base SQL, d'un tableau, d'une HashMap, d'une ArrayList...

La vue, c'est ton affichage.

Tu peux utiliser une ListView, une GridView... en fonction de l'affichage souhaité

Le contrôleur, c'est ce qui va faire le lien entre ton modèle et ta vue (entre les donnée et ton affichage)

Il me semble que les Adapter font parti de cette catégorie.

Ils vont simplement lire les données du modèle, et les passer au format adéquat à la vue.

Il me semble aussi que les Activity sont aussi des "contrôleurs".

Dans le cas de la ListActivity, il s'agit d'une Activity normale, sauf qu'elle dispose de:

- Une vue par défaut (content view), étant une ListView

- Une méthode pour définir un Adapter, et le lier à la ListView

Si t'as bien suivi, tu comprendra que ta question

Avec une listActivity on peut utiliser des données venant de sqlite ?

n'a pas vraiment de sens :/

(il est évident que oui)

Lien vers le commentaire
Partager sur d’autres sites

Je n'en connais pas, mais tu peux en trouver sur Google je pense :P

Néanmoins la procédure a l'air assez simple :

- Instancier un SQLiteCursor en fonction de ta requête : http://developer.android.com/reference/android/database/sqlite/SQLiteCursor.html

- Instancier un CursorAdapter en passant en paramètre ton cursor précédemment crée

- Instancier une ListView, et lui définir son Adapter à l'aide du CursorAdapter précédent

C'est la théorie...

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...