Jeśli chcesz to zrobić tylko raz, zrób to, ponieważ Framework wywoła initState()metodę dokładnie raz dla każdego utworzonego obiektu State.
@override
void initState() {
super.initState();
WidgetsBinding.instance
.addPostFrameCallback((_) => executeAfterBuildComplete(context));
}
Jeśli chcesz to robić raz po raz, jak z tyłu lub przejść do następnego ekranu itp., Zrób to, ponieważ didChangeDependencies()Called, gdy zmienia się zależność tego obiektu State.
Na przykład, jeśli poprzednie wywołanie buildodwoływało się do elementu, InheritedWidgetktóry później się zmienił, struktura wywoła tę metodę, aby powiadomić ten obiekt o zmianie.
Ta metoda jest również wywoływana bezpośrednio po initState. Dzwonienie BuildContext.dependOnInheritedWidgetOfExactTypez tej metody jest bezpieczne .
@override
void didChangeDependencies() {
super.didChangeDependencies();
WidgetsBinding.instance
.addPostFrameCallback((_) => executeAfterBuildComplete(context));
}
To jest twoja funkcja oddzwaniania
executeAfterBuildComplete([BuildContext context]){
print("Build Process Complete");
}
build. Build można wywołać w dowolnym momencie wielokrotnie.