Как отправить текст кнопкой (без текстового поля)? (Флаттер) - PullRequest
0 голосов
/ 14 марта 2020

Я хочу установить пару кнопок, которые будут отправлять некоторый текст, который я назначил, как я могу отправить текст без использования области текстового поля? В приведенном ниже коде содержится кнопка со значком, а область текстового поля с пустой частью кнопки - это функция, которую я использую,

Я хочу отправить указанное имя c при нажатии кнопки со значком для входа в систему (например, testuser1), или любое имя пользователя может быть отправлено по текстовому полю.

children: <Widget>[
         new ListTile(
           title: new Row(
             children: <Widget>[IconButton(
               icon: Icon(Icons.stars),
               iconSize: 40,
               onPressed: () {setState(() {
                 saveName();
               });
               },
             ),
               Text('Test User Entry')
             ],
           )
         ),
         new ListTile(
           title: new TextField(
             obscureText: false,
             controller: _controller,
             decoration: InputDecoration(
               labelText: 'Username',
             ),
           ),
         ),
         new ListTile(
           title: new RaisedButton(
               child: new Text("Send"),
               onPressed:(){setState(() {
                 saveName();
               });
               }),
         )
       ],
     ),
   );
 }
 void saveName() {
   String name = _controller.text;
   saveNamedPreference(name).then((bool committed) {
     Navigator.of(context).pushReplacementNamed(MyHomePage.routeName);
   });
 }
}

Ответы [ 2 ]

0 голосов
/ 15 марта 2020

Я сделал это грязным образом (хотя я), как это;

new ListTile(
            title: new IconButton(
                icon: Icon(Icons.trending_up),
                iconSize: 40,
                onPressed: () {setState(() {
                  String name = "NewNameValue";
                  saveNamedPreference(name).then((bool committed) {
                    Navigator.of(context).pushReplacementNamed(MyHomePage.routeName);
                  });
                });
                },
              ),
            ),
0 голосов
/ 14 марта 2020

Я не уверен. Если я вас правильно понял, если вы не хотите, чтобы текстовое поле отображалось, вы можете сделать его невидимым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...