我有一个Flutter应用程序,在所有方面都正常运行,除了当我选择一个TextField(或TextFormField)时。当我选择TextField时,光标在TextField中闪烁,但我无法键入任何内容,并且所有其他按钮,如floatingActionButton和AppBar中的后退按钮,都停止工作。实质上,该应用程序似乎已经冻结,但我没有收到任何错误消息。
在两个包含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),
),
);
}
}
很遗憾,我没有收到任何错误信息。光标只是在文本字段中闪烁,其他所有功能都失去了作用,我不得不退出并重新启动。我不确定还应该考虑什么。是否有人对可能导致这种情况的原因有任何想法?