2010-06-18 16 views
4

Je voulais changer la hauteur diviseur dynamiquement. De tout ce que j'ai cherché, il semble qu'il est possible de régler le diviseur en tant que partie de chaque élément dans ListView. Mais je ne suis pas très clair avec ça.Comment faire partie diviseur de chaque élément dans listview dans android?

Alors, quelqu'un peut-il être plus précis, comment peut-on faire le diviseur dans le cadre de l'article dans ListView?

Répondre

0

Une façon de faire cela serait d'inclure le diviseur au bas de chaque rangée. Maintenant, vous devez définir la hauteur de la vue du diviseur dans votre méthode getView dans votre adaptateur de liste en fonction de l'élément que vous affichez pour le moment.

+0

Je ne vous ai pas compris comment ajouter un diviseur au bas de chaque rangée. J'ai un fichier xml row.xml. Comment ajouter un divider dans ce fichier row.xml et modifier sa hauteur lors de l'exécution. – sunil

+0

Merci beaucoup. Atlast j'ai réussi à le faire avec votre suggestion. – sunil

+0

Pouvez-vous élaborer sur la façon de faire cela? Je suis encore un peu confus. –

-1

Vous pouvez définir android: footerDividersEnabled sur false et ajouter des séparateurs dans votre adaptateur.

+0

C'est exactement ce que je veux savoir comment ajouter des séparateurs à partir de l'adaptateur. Si vous avez une idée alors s'il vous plaît faites le moi savoir. – sunil

+0

Il suffit de remplacer getView, voir http://android.amberfog.com/?p=296 pour un exemple. – zehrer

+0

J'ai réussi à le faire. Merci beaucoup à tous pour m'avoir aidé. – sunil

-1

Dans votre appel ListActivity:

ListView lv = getListView(); 
lv.setDivider(divider); 

où diviseur est un objet Drawable que vous pouvez définir ou écrire dans votre code que vous devez.

Vous pouvez aussi appeler:

lv.setDividerHeight(2); 

Pour changer la hauteur

+0

Ai-je besoin d'écrire ce code dans la méthode getView de l'adaptateur? Je n'utilise pas ListActivity pour listview. – sunil

+0

Cela ne vous permettra pas d'avoir un diviseur avec une hauteur différente. – Janusz

+0

@sunil, non, ce code va dans votre Activity (vous utilisez une ListActivity, n'est-ce pas?), Probablement onCreate(). Si vous avez besoin de hauteurs différentes par ligne, alors Janusz a raison, dans ce cas vous devrez ajouter le diviseur à chaque ligne et changer la hauteur par programmation dans getView de l'adaptateur() –

0

Rien de mieux que d'expliquer par image. Ici, j'ai trouvé une capture d'écran du web. J'ai fait une marque dessus.

C'est ce que vous voulez réaliser. enter image description here

Vous pouvez faire du diviseur l'un des éléments. enter image description here

De plus, vous pouvez faire du diviseur une partie d'un élément. enter image description here

Aucune des deux solutions n'utilise le vrai diviseur fourni par ListView. Il devrait être mis 0 hauteur. Cela semble stupide, mais cela est efficace.