Je veux récupérer et calculer les valeurs d'entrée à partir du champ de texte dans listview .. comment y parvenir?
3 Réponses :
Vous devez définir une liste de TextEditingController avec la même longueur de votre listview , puis attribuer à chaque TextField de votre liste un objet de ce array, qui vous permettra de récupérer la valeur que ce soit lors de l'édition ou une fois terminée. Voici un exemple de ce que j'ai dit:
textFieldControllers[index].text
dans votre liste:
textFieldControllers[index] = new TextEditingController() ; new TextField(controller: textFieldControllers[index]);
après cela, vous pouvez récupérer la valeur en:
List<TextEditingController> textFieldControllers ;
son a fonctionné .. mais comment si nous ne connaissons pas la longueur de la liste et je veux obtenir la valeur du champ de texte dans listview?
vous ne le ferez pas, à moins que vous n'ayez attribué un certain TextEditingController à ce champ, vous pourrez alors obtenir son contenu.
Génial. Ajout de quelques trucs ci-dessous pour convenir à mon cas d'utilisation.
Définissez d'abord une List comme ceci List
puis parcourez la liste utilisée pour créer les widgets dans List.builder comme ceci.
textFieldControllers[index].text;
où typesItem est l'élément de liste utilisé dans la création des widgets Listbuilder afin de maintenir la même longueur avec vos widgets de manière dynamique.Vous pouvez exécuter ce code sur votre méthode initState
là après, allez à votre widget List.builder et initialisez votre contrôleur comme ceci.
textFieldControllers[index]
et définissez vos contrôleurs TextField dans votre méthode de retour comme ceci
textFieldControllers[index] = TextEditingController() ;
I/flutter ( 7914): fff888- -- -- -Select Status I/flutter ( 7914): sourav- -- -- -Select Status
Ajoutez des extraits de code utiles pour mieux comprendre le problème
Qu'avez-vous essayé? Quel problème avez-vous rencontré?