Для выполнения функции при нажатии на кнопку и получения текста из текстового поля ввода в рамках разработки с использованием Flutter нужно выполнить следующие шаги.
1. Создать текстовое поле ввода и кнопку в файле разметки (например, в файле main.dart
):
import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( primarySwatch: Colors.blue, ), home: MyHomePage(), ); } } class MyHomePage extends StatefulWidget { @override _MyHomePageState createState() => _MyHomePageState(); } class _MyHomePageState extends State<MyHomePage> { String _inputText = ''; void _onButtonPressed() { setState(() { _inputText = _textFieldController.text; }); } final TextEditingController _textFieldController = TextEditingController(); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('Flutter Demo Home Page'), ), body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ TextField( controller: _textFieldController, decoration: InputDecoration(labelText: 'Enter your text'), ), RaisedButton( onPressed: _onButtonPressed, child: Text('Press me'), ), Text('Input text: $_inputText'), ], ), ), ); } }
2. Внутри класса, отвечающего за состояние (например, _MyHomePageState
), объявляем переменную _inputText
, в которую будет сохраняться текст из поля ввода.
3. Создаем функцию _onButtonPressed
, которая вызывается при нажатии на кнопку. Внутри этой функции мы используем метод setState
, чтобы обновить состояние виджета и присвоить переменной _inputText
значение, содержащееся в текстовом поле ввода.
4. Создаем экземпляр TextEditingController
для управления текстовым полем ввода.
5. Для текстового поля ввода задаем контроллер, используя созданный экземпляр TextEditingController
.
6. Внутри метода build
размещаем текстовое поле ввода, кнопку и виджет Text
, который будет отображать введенный текст. При этом привязываем onPressed
кнопки к функции _onButtonPressed
.
7. Выводим текст из переменной _inputText
с помощью виджета Text
внутри метода build
. Таким образом, при каждом обновлении состояния виджета, текст будет отображаться соответственно.
Таким образом, при выполнении этих шагов вы сможете получить текст из текстового поля ввода при нажатии на кнопку и использовать его дальше в своем приложении.