#flutter #dart #flutter-layout
Вопрос:
В принципе, я хочу заполнить Listview полем текстовой формы. если бы кто-нибудь мог провести меня через это
ссылка git для полного кода
github.com/Nyctophilus/Thoth_Script я добавил некоторые изменения в свою главную проблему, теперь все плитки в представлении списка имеют одинаковое значение. он не читает мое изменение состояния набора! и ФАБ тоже
Код списка
TextEditingController Tcon = TextEditingController(); Widget _list(context, index) { if (index gt; 0) { return ListView.builder( itemCount: index, itemBuilder: (BuildContext context, int index) { return ListTile( title: Text('Task: ${index 1} $Tcon'), ); }, ); } else { return ListView( shrinkWrap: true, padding: const EdgeInsets.all(30.0), children: const lt;Widgetgt;[ Text("Add task..."), ], ); } }
Код текстового поля
child: TextField( textAlign: TextAlign.center, controller: Tcon, onSubmitted: (value) { setState(() { Tcon.text = value; index ; }); }, ),
Комментарии:
1.
Listview with a Textformfield.
вы имеете в виду гигантское поле текстовой формы или вам нужно несколько динамических текстовых полей2. это похоже на текстовое поле для ввода текста пользователем , поэтому я беру его для динамического отображения в виде списка ,да
3. Не могли бы вы, пожалуйста, более подробно описать, что вы пытаетесь сделать? или где вам нужна помощь?
4. вы хотите создать динамический списокlt;Текстовое полеgt;?
5. пожалуйста, поделитесь ссылкой на github, чтобы я мог помочь вам лучше. И если я вас правильно понимаю, вы хотите добавить новую задачу в представление списка, когда вы нажмете плавающую кнопку, и TextFormField обновит textFormController и сохранит его в представлении списка
Ответ №1:
попробуйте обернуть текстовое поле в контейнер
Container( width: 650, height: 45, child: TextField( textAlign: TextAlign.center, controller: Tcon, onSubmitted: (value) { setState(() { Tcon.text = value; index ; }); }, ), ),
Комментарии:
1. я действительно пытался это сделать, но ничего не вышло. ошибка в размере представления списка, а не в текстовом поле.. о, я завернул представление списка в расширенное, и оно появилось. это была проблема выравнивания! gt;gt;
Ответ №2:
Tcon-это единый контроллер редактирования текста, который вы назначаете всем текстовым полям в списке. Вы должны создать список и назначить каждого его дочернего элемента каждому текстовому полю, чтобы каждое текстовое поле имело свой собственный контроллер.