问题描述
假设我有两个小部件A和B。A监听事件更改。事件类型是“连接状态”。
A --> One Widget (separate screen)
B --> Another Widget (separate screen)
Event Type
|
--> INTERNET_CONNECTED
--> INTERNET_NOT_CONNECTED
我想根据A内部触发的事件来推送和弹出B小部件。如果事件是INTERNET_NOT_CONNECTED,则推动B;如果INTERNET_CONNECTED然后弹出B。有人可以建议我如何实现它。谢谢...
解决方法
您可以在Stack()中使用Visibility()小部件来显示取决于变量的小部件。
Stack(
children: [
A(),Visibility(
visible: _connected,//assuming _connected is a bool that returns true if INTERNET_NOT_CONNECTED
child: B()
),],),
,
这样做,
制作一个StateFulWidget。
import 'package:connectivity/connectivity.dart';//https://pub.dev/packages/connectivity
@override
initState() {
super.initState();
getcon();
}
getcon() async{
var connectivityResult = await (Connectivity().checkConnectivity()).then((value) {
if (value== ConnectivityResult.mobile||value== ConnectivityResult.wifi) {
Navigator.pop(context)//popping the screen A
Navigator.push()//write code here to push to screen B
}
;
}