这是因为要传递给该
showDialog方法的上下文是一个
context尚未
MaterialLocalizations在小部件树中包含小部件的,该
MaterialLocalizations小部件被该小部件隐式添加
MaterialApp。
要解决此问题,请尝试以下操作:
import 'package:flutter/material.dart';void main() { runApp(MyApp());}class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: "Test", home: TestPage(), ); }}class TestPage extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: Text("Test")), body: Container( child: Center( child: RaisedButton( color: Colors.redAccent, textColor: Colors.white, onPressed: () { testalert(context); }, child: Text("PressMe"), ), ), ), ); } void testalert(BuildContext context) { var alert = alertDialog( title: Text("Test"), content: Text("Done..!"), ); showDialog( context: context, builder: (BuildContext context) { return alert; }); }}


