Aller au contenu

ExpandableListView ou ListView ?


akex

Recommended Posts

Bonsoir à tous,

ça fait plusieurs jours que je me prends la tête sur ce point donc je vous expose mon problème.

Je souhaiterais creer une liste de données alimentée via un curseur. Jusque là tout va bien (heureusement). Mon problème se situe ci-dessous.

Je souhaiterais, qu'une nouvelle ligne apparaisse lorsque je clique sur un des éléments de la liste. Un peu comme on peut voir sur touitteur.

petit schéma :

---------------------------

| icone1 blabla |

| |

---------------------------

| icone2 blabla |

| |

---------------------------

a ce moment là on clique sur la première ligne et une nouvelle ligne apparait en dessous (à la manière d'un expandableListView)

---------------------------

| icone1 blabla |

| |

---------------------------

| child |

---------------------------

| icone2 blabla |

| |

---------------------------

J'ai essayé dans un premier temps de décomposer mes élément de listView en deux tablerow (une visible, l'autre visible ou non en fonction de l'action effectuée sur la première). Le hic, c'est que quand je clique, ça clique sur l'ensemble des deux lignes ... Bof

J'ai essayé ResourceCusorTreeAdapter. Parfait pour alimenter une expandableListView (père et fils) depuis un curseur. Le hic, c'est que le père est alimenté par un curseur mais le fils aussi. Pour ma part, je ne veux alimenter que le père depuis un curseur.

Le fils sera composé deux quelques boutons entrainant une action relative à des données du premier curseur.

Donc, ma question, quelqu'un a une idée ? Car là je sèche ...

Lien vers le commentaire
Partager sur d’autres sites

J'ai laissé tomber le expandablelistview. J'ai opté pour un listview composé de deux layouts avec le deuxième passant de visibility GONE à VISIBLE.

Me reste plus qu'à virer le highlight sur l'item (sinon ça sélectionne le tout) et faire en sorte que le layout rendu visible apparaisse en entier sur l'écran.

Mettrai un exemple une fois que j'aurai fini :).

Lien vers le commentaire
Partager sur d’autres sites

Est ce qu'ici quelqu'un a déjà testé l'expendableListView ?

Profete m'en avait parlé ( d'où ce que j'en disais au dessus ) et ca semble pas mal coller avec ton problème.

Pourriez vous m'expliquer pourquoi vous préférez procéder autrement ? ( ca peut toujours servir )

Lien vers le commentaire
Partager sur d’autres sites

L'expandablelistview est pas mal en soit puisque :

- est basé sur un listview. Les parents correspondent aux items du listview.

- possible d'avoir un ou plusieurs enfants par père.

- l'état expanded / not expanded est gardé. Pas de risque d'avoir un parent expanded lors du recyclage des vues.

Il se base sur un adapter : BaseExpandableListAdapter avec plusieurs sous classes utilisable en fonction du feeder.

Le hic c'est que le seul adapter qui pourrait convenir c'est CursorTreeAdapter, mais ça m'oblige à gérer un curseur pour les fils, ce donc je n'ai pas besoin. Et vu qu'il y a autant de fils créé par parent que d'occurence dans le curseur fils ... Ben si je retourne null lors de la définition du curseur fils, ben j'ai pas de view fils.

Bref, je suis donc passé par un listview décomposé en deux layout. L'affichage en accordéon fonctionne, reste plus qu'à stocker l'état expandable pour la position du curseur (sinon j'ai un certaines vues expanded lors du recyclage des vues :))

Quand ce sera géré, je mettrais mon bout de code.

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...