【发布时间】:2020-03-16 19:09:39
【问题描述】:
我正在创建一个应用程序,我是 Flutter 的新手,飞镖。我在“上下文”中有问题。我想替换页面/屏幕 onTab()。但我遇到以下错误:
> ══════ Exception caught by gesture ════════════════════════ The
> following NoSuchMethodError was thrown while handling a gesture: The
> method 'findAncestorStateOfType' was called on null. Receiver: null
> Tried calling: findAncestorStateOfType<NavigatorState>()
这是我的代码:
class Theorytest extends StatelessWidget {
Widget customcard(String testName ){
return Padding(
padding: EdgeInsets.all(10.0),
child: InkWell(
onTap: (){
Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (context) => GetTestData(),
),
);
},
child: Material(
borderRadius: BorderRadius.circular(50.0),
elevation: 20.0,
child : Container(
child: Column(
children : <Widget>[
Padding(
padding: EdgeInsets.fromLTRB(5.0, 20.0, 10.0, 20.0),
child: Text( testName,
style: TextStyle(
fontSize: 24.0,
),
),
),
],
),
),
),
),
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
body: ListView(
children : <Widget>[
customcard('Theory Test 1'),
customcard('Theory Test 2'),
customcard('Theory Test 3'),
customcard('Theory Test 4'),
customcard('Theory Test 5'),
customcard('Theory Test 6'),
customcard('Theory Test 7'),
customcard('Theory Test 8'),
customcard('Theory Test 9'),
customcard('Theory Test 10'),
customcard('Theory Test 11'),
customcard('Theory Test 12'),
customcard('Theory Test 13'),
customcard('Theory Test 14'),
customcard('Theory Test 15')
]
),
);
}
这是代码错误。我不知道为什么上下文对我不起作用。
【问题讨论】: