Как выполнить функцию при нажатии на кнопку и получить текст из текстового поля ввода?

Для выполнения функции при нажатии на кнопку и получения текста из текстового поля ввода в рамках разработки с использованием 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. Таким образом, при каждом обновлении состояния виджета, текст будет отображаться соответственно.

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