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 build
odwoływało się do elementu, InheritedWidget
któ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.dependOnInheritedWidgetOfExactType
z 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.