flutter - 从 ErrorWidget 导航到其他 Widget
问题描述
我为我的应用程序设置了一个自定义 ErrorWidget:
@override
Widget build(BuildContext context) {
ErrorWidget.builder = getErrorWidget;
return TabsView();
}
无论如何,我RaisedButton
在 My ErrorWidget 中添加了一个让用户在按下重试时导航到其他小部件:
我尝试使用 Navigator,但我认为 ErrorWidget 不像 MaterialApp 所以我得到一个错误上下文 Undefined :
import 'package:flutter/material.dart';
import 'package:awesome_loader/awesome_loader.dart';
import 'package:carousel_slider/carousel_slider.dart';
import 'MyLocationView.dart';
List _tips = [
('Searching...'),
('Tips :Turn On Wifi'),
('Tips :Turn On GPS'),
];
int i = 0;
Widget getErrorWidget(FlutterErrorDetails error) {
return Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
AwesomeLoader(
loaderType: AwesomeLoader.AwesomeLoader3,
color: Colors.teal,
),
Center(
child: CarouselSlider(
height: 60.0,
viewportFraction: 1.0,
enlargeCenterPage: true,
autoPlay: true,
autoPlayInterval: Duration( seconds: 3 ),
autoPlayAnimationDuration: Duration( milliseconds: 800 ),
items: _tips.map( (i) {
return Builder(
builder: (BuildContext context) {
return Container(
width: 140.0,
child: Text(
' $i ',
style: TextStyle( fontSize: 16.0 ),
) );
},
);
} ).toList( ),
),
),
Center(
child :RaisedButton(
child: Text("Retry"),
onPressed: (){
//Here my button
Navigator.push(context, MaterialPageRoute(builder: (context)=>MyLocationView()));
}),
),
],
),
);
}
解决方案
ErrorWidget 专用于严重错误,而不是用于其他用途。
推荐阅读
- installation - 更新项目或包时出现致命错误导致Jiri hooks无法运行 - Fuchsia 源码下载
- jenkins-pipeline - 詹金斯文件脚本
- python - 用cython导入C函数,如何将指针传递给python函数
- excel - 通过 Excel VBA 编辑 XML
- python - 如何使用关键字在 json 文件中搜索特定行?
- r - 服务器重启后自动重启闪亮的应用程序
- java - 从 URI 获取多个图像的实际路径
- java - Ubuntu执行jar文件
- json - 使用 2 个大型数据集创建 JSON?
- javascript - filepond 在隐藏输入中接收未定义的值