我有一个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中闪烁,其他所有内容均失去功能,我必须退出并重新启动。我不确定我还要考虑什么。有谁知道可能是什么原因造成的?
答案 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(...)