Advertisement
Guest User

Untitled

a guest
Jun 26th, 2019
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.45 KB | None | 0 0
  1. class CustomTextField extends StatefulWidget {
  2. CustomTextField(
  3. {@required this.focusNode,
  4. @required this.nextFocusNode,
  5. @required this.textEditingController,
  6. @required this.validator,
  7. @required this.labelText,
  8. @required this.dataText});
  9.  
  10. final FocusNode focusNode;
  11. final FocusNode nextFocusNode;
  12. final TextEditingController textEditingController;
  13. final FormFieldValidator<String> validator;
  14.  
  15. final String labelText;
  16. String dataText;
  17.  
  18. @override
  19. _CustomTextFieldState createState() => new _CustomTextFieldState();
  20. }
  21.  
  22. class _CustomTextFieldState extends State<CustomTextField> {
  23. @override
  24. Widget build(BuildContext context) {
  25. return Container(
  26. height: 65,
  27. child: new TextFormField(
  28. style: Utility.textFormFieldStyle(context),
  29. keyboardType: TextInputType.text,
  30. textInputAction: widget.nextFocusNode == null
  31. ? TextInputAction.done
  32. : TextInputAction.next,
  33. focusNode: widget.focusNode,
  34. onFieldSubmitted: (v) {
  35. FocusScope.of(context).requestFocus(widget.nextFocusNode);
  36. },
  37. decoration: InputDecoration(
  38. labelText: widget.labelText,
  39. contentPadding: Utility.edgeInsetsGeometry()),
  40. controller: widget.textEditingController,
  41. validator: widget.validator,
  42. onSaved: (String val) {
  43.  
  44.  
  45. widget.dataText = val;
  46. // not saving my value in my main class
  47.  
  48. print("costom text view ${widget.dataText}");
  49. }));
  50. }
  51. }
  52.  
  53. /// main class ---------------------------///
  54.  
  55.  
  56.  
  57. List<FocusNode> listFocusNode;
  58. List<String> listDataText;
  59. List<TextEditingController> listTextEditingController;
  60. List<Widget> listFormField;
  61.  
  62. @override
  63. void initState() {
  64. super.initState();
  65.  
  66. listFocusNode = <FocusNode>[];
  67. listTextEditingController = <TextEditingController>[];
  68. listFormField = <Widget>[];
  69. listDataText = <String>[];
  70.  
  71. for (int i = 0; i < 5; i++) {
  72. listFocusNode.add(FocusNode());
  73. }
  74.  
  75. for (int i = 0; i < 5; i++) {
  76. listDataText.add("old");
  77. }
  78.  
  79. for (int i = 0; i < 5; i++) {
  80. listTextEditingController.add(TextEditingController());
  81. }
  82.  
  83. for (int i = 0; i < 5; i++) {
  84. listFormField.add(CustomTextField(
  85. dataText: listDataText[i],
  86. focusNode: listFocusNode[i],
  87. labelText: "field$i",
  88. textEditingController: listTextEditingController[i],
  89. nextFocusNode: i == 4 ? null : listFocusNode[i + 1],
  90. // validator: validateNull,
  91. validator: validateName,
  92. ));
  93. }
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement