原因是调用MediaQuery.of(context)后,点击TextField组件时会导致调用build方法。
解决方法:在Scaffold组件的body嵌套Builder组件,然后设置一个BuildContext变量,将Builder组件中的context传递给BuildContext变量,然后用到的MediaQuery.of(context)中的context就是这个Builder中的context。
late BuildContext appContext; @overrideWidget build(BuildContext context) {return Scaffold(appBar: NavigatorWidget.buildAppBar(context, "选择"),backgroundColor: const Color(Co.routeBgColor2),body: Builder(builder: (BuildContext context) {appContext = context;这样即可:MediaQuery.of(appContext)