问题描述
我的 Flutter 应用中有多个小部件。如果我单击另一个小部件,则在 Widget build(BuildContext context)
顶部定义的 onWillPopScope 方法不起作用。你能给我建议如何修复它吗?谢谢
见下面的代码:
ExpansionTile(
initiallyExpanded: false,title:
Text('Solution',style: basicAlertBlack),children: <Widget>[
Container(
color: Colors.Amber.shade50,height:
MediaQuery
.of(context)
.size
.height /
7,child: _solutionTextField(),)
],),
第二个小部件代码:
Widget _solutionTextField() {
return TextField(
focusNode: myFocusNode,keyboardType: TextInputType.multiline,maxLines: null,style: solution,controller: solutionController,decoration: new Inputdecoration(
contentPadding: EdgeInsets.all(8),focusedBorder: InputBorder.none,enabledBorder: InputBorder.none,errorBorder: InputBorder.none,disabledBorder: InputBorder.none,hintText: 'Enter a solution'));
}
解决方法
能否提供更多背景信息?
正如documentations所说:
WillPopScope 类
注册一个回调来否决用户试图关闭封闭的 ModalRoute。
这意味着它将在 pop
操作上被调用。它可以通过单击返回箭头或 iOS 从边缘左侧向右滑动来从 android 导航调用。以及您通过 pop
调用的所有其他 Navigator
方法。所以它与点击 Widget 没有关系。