[英]Unhandled Exception: 'package:flutter/src/widgets/navigator.dart': Failed assertion: line 3499 pos 12: '!_debugLocked': is not true." FLUTTER
[英]'package:flutter/src/widgets/navigator.dart': Failed assertion: line 5338 pos 12: '!_debugLocked': is not true. And this is my Code given Below
當我為啟動屏幕頁面實現代碼並導航到登錄屏幕並出現異常時,像這樣'package:flutter/src/widgets/navigator.dart':斷言失敗:第5338行pos 12:':_debugLocked'。 不是真的,我聲明的用於導航頁面的 function 無法正常工作,但沒有編譯時錯誤。 該錯誤僅在運行時顯示。 我不知道如何解決這個問題請大家幫忙
import 'package:first_project_1/Screens/login.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class ScreenSplash extends StatefulWidget {
const ScreenSplash({Key? key}) : super(key: key);
@override
_ScreenSplashState createState() => _ScreenSplashState();
}
class _ScreenSplashState extends State<ScreenSplash> {
@override
void initState() {
// TODO: implement initState
super.initState();
gotoLogin(context);
}
@override
void didChangeDependencies() {
// TODO: implement didChangeDependencies
super.didChangeDependencies();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Image.asset('assets/images/VDlogo.png',height: 150,),
),
);
}
@override
void dispose() {
// TODO: implement dispose
super.dispose();
}
Future<void> gotoLogin(BuildContext context) async {
Future.delayed(Duration(seconds: 4),);
Navigator.of(context).pushReplacement(
MaterialPageRoute(
builder: (ctx)=> ScreenLogin(),
),
);
}
}
這是因為在initState
中直接調用了Navigator.pushReplacement
。 您的Future.delayed
不是await
ed,因此它不會等待那 4 秒的推送。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.