作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在尝试在标签式 flutter 应用程序中显示 snackbar ,如下所示:
var scaffoldKey = new GlobalKey<ScaffoldState>();
scaffoldKey.currentState
.showSnackBar(new SnackBar(
content: new Text("This is a message")
);
});
但是我得到了错误:
NoSuchMethodError: The method 'showSnackBar' was called on null.
在 main.dart 文件中,我按如下方式初始化应用程序:
runApp(new MaterialApp(...));
然后在具有选项卡式界面的 home.dart 中调用 snackBar:
Widget build (BuildContext context) => new Scaffold(...);
所以我对在哪个脚手架上调用 snackbar 以及如何以及为什么 scaffoldKey.currentState
为 null 感到有点困惑。
最佳答案
您还需要将 Key 传递给 Scaffold
Widget。
然后就可以调用-scaffoldKey.currentState.showSnackBar
@override
Widget build(BuildContext context) {
return Scaffold(
key: scaffoldKey,
.....
关于Flutter showSnackBar 在 null 上调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54063473/
我是一名优秀的程序员,十分优秀!