首页 > 解决方案 > FLUTTER/DART - 文本未显示到 FloatingActionButton 中的 home.dart 文件

问题描述

在将文本输入到 FloatingActionButton 时,在我的 home.dart 文件中显示文本时出现问题。

下面是代码示例。任何我弄错的建议。我相信'字符串值;' 行必须在同一个 MaterialButton 函数中,但不确定如何在不进一步破坏它的情况下执行此操作。

} 这是IDE中的代码`

标签: flutterandroid-studiodart

解决方案


我在这里使用一个简单的应用程序来展示这种行为。您可以通过复制并运行以下命令进行测试:

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: SomeScreen(),
    );
  }
}

class SomeScreen extends StatefulWidget {
  @override
  _SomeScreenState createState() => _SomeScreenState();
}

class _SomeScreenState extends State<SomeScreen> {
  String value = '';

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      floatingActionButton: FloatingActionButton(
        onPressed: () async {
          await _createDialog(context);
          setState(() {});
        },
        child: Icon(Icons.add),
        backgroundColor: Colors.red,
      ),
      body: Container(
        color: Colors.blue,
        child: Center(
          child: Text(value),
        ),
      ),
    );
  }

  _createDialog(context) async {
    await showDialog(
      context: context,
      builder: (BuildContext dialogContext) {
        return AlertDialog(
          title: Text('title'),
          content: TextField(
            onChanged: (text) {
              value = text;
            },
          ),
          actions: <Widget>[
            FlatButton(
              child: Text('buttonText'),
              onPressed: () {
                Navigator.pop(context);
              },
            ),
          ],
        );
      },
    );
  }
}

推荐阅读