选择TextField或TextFormField时Flutter应用程序冻结

时间:2019-10-04 13:24:17

标签: flutter textfield

我有一个Flutter应用程序,除了选择TextField(或TextFormField)外,它在所有方面均正常运行。当我选择TextField时,光标在TextField中闪烁,但是我无法键入任何内容,AppBar中的所有其他按钮(如floatActionButton和back按钮)都停止工作。从本质上讲,该应用似乎已冻结,但是我没有收到任何错误消息。

在多次尝试解决包含FocusNodes和TextEditingControllers的两个不同页面中的问题之后,我回到了第一个方框,通过合并一个直接包含Flutter网站代码的新页面,但是此准系统代码中的TextField仍然锁定了该应用程序

import 'package:flutter/material.dart';

class EventDetailForm extends StatefulWidget {
  static const String routeName = "/events/event-detail-form";
  @override
  _EventDetailFormState createState() => _EventDetailFormState();
}

class _EventDetailFormState extends State<EventDetailForm> {
  final myController = TextEditingController();
  @override
  void dispose() {
    myController.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('Event Detail')),
      body: Padding(
          padding: const EdgeInsets.all(16),
          child: TextField(
            controller: myController,
          )),
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          return showDialog(
              context: context,
              builder: (context) {
                return AlertDialog(
                  content: Text(myController.text),
                );
              });
        },
        child: Icon(Icons.text_fields),
      ),
    );
  }
}

很遗憾,我没有收到任何错误消息。光标仅在TextField中闪烁,其他所有内容均失去功能,我必须退出并重新启动。我不确定我还要考虑什么。有谁知道可能是什么原因造成的?

6 个答案:

答案 0 :(得分:4)

Simulator -> Device -> Erase All Content And Settings对我有用。

答案 1 :(得分:3)

当我将Xcode升级到ios 13.1时,遇到了同样的问题。我切换到其他模拟器,问题就消失了。

答案 2 :(得分:2)

这也许很晚,但今天也发生在我身上。我也将channel更改为beta,但不幸的是也无法正常工作。显然对我有用的是当我将频道放回stable后重新启动模拟器。

答案 3 :(得分:1)

我遇到了相同的错误,可以通过切换到Flutter的beta通道来解决。 在您的终端中使用

flutter channel beta
flutter upgrade

关于您可以在此处阅读的频道https://github.com/flutter/flutter/wiki/Flutter-build-release-channels

答案 4 :(得分:0)

我没有更改频道,一个简单的flutter upgrade就足以解决此问题。我还关闭了Android Studio和所有模拟器,当我重新启动时,问题消失了。

答案 5 :(得分:0)

我想我迟到了,但这个问题在 2021 年仍然存在。

我尝试了所有解决方案,但无法解决。无论我在 TextField、TextFormField 或 autocomplete_textfield 中输入什么,字符都不可见。

我通过将小部件作为 vcs 而不是使用 showGeneralDialog() 打开来修复它。这是示例代码。

Navigator.of(...)