J'ai un ListView
qui affiche un ensemble de notes, chacune avec des quantités variables de données (c'est-à-dire que certaines ont une date d'échéance, d'autres non).Comment implémenter une vue personnalisée avec des champs variables?
Actuellement, chaque vue dans la liste est un RelativeLayout
contenant un TextView
pour chaque champ, plus deux Button
et un CheckBox
. Je cache ensuite simplement les champs inutilisés en définissant un faux visible sur chacun d'entre eux.
Cela a bien fonctionné, mais je suis sur le point d'ajouter beaucoup plus de champs de données aux notes et de gonfler que de nombreuses vues inutiles pour chaque ligne tueront sûrement mon application. J'ai besoin d'une solution plus dynamique.
J'ai décidé que la meilleure façon de procéder est de créer une vue personnalisée. Comment puis-je implémenter/concevoir ma vue afin qu'elle puisse afficher un nombre variable de champs de texte sans créer/détruire des textviews à chaque fois (ce qui serait assez cher et pire que ma situation actuelle), ou maintenir un grand nombre de textviews cachés?
Cela nécessiterait de créer une nouvelle vue chaque fois que je devrais remplir ma liste et détruire les anciennes. J'aurais aussi besoin d'un moyen de les suivre. C'est le problème que j'essayais d'éviter dans mon OP. – CodeFusionMobile
extension 'LinearLayout' permettra d'utiliser un peu de recyclage si vous le souhaitez. Si vous devez d'abord ajouter un TextView, vérifiez s'il y en a un, sinon, créez-en un nouveau. – Macarse