यदि आप इसे केवल एक बार करना चाहते हैं, तो इसे करें क्योंकि फ्रेमवर्क initState()
प्रत्येक राज्य ऑब्जेक्ट के लिए एक बार विधि को कॉल करेगा ।
@override
void initState() {
super.initState();
WidgetsBinding.instance
.addPostFrameCallback((_) => executeAfterBuildComplete(context));
}
यदि आप बार-बार ऐसा करना चाहते हैं तो बैक पर जाएं या अगली स्क्रीन पर नेविगेट करें और आदि ..., तब करें क्योंकि didChangeDependencies()
जब कॉल किया जाता है तो इस स्टेट ऑब्जेक्ट की निर्भरता बदल जाती है।
उदाहरण के लिए, यदि पिछले कॉल को build
संदर्भित किया जाता है InheritedWidget
जो बाद में बदल गया है, तो फ्रेमवर्क इस पद्धति को कॉल के बारे में सूचित करने के लिए बदल देगा।
इस विधि को तुरंत बाद भी कहा जाता है initState
। BuildContext.dependOnInheritedWidgetOfExactType
इस विधि से कॉल करना सुरक्षित है ।
@override
void didChangeDependencies() {
super.didChangeDependencies();
WidgetsBinding.instance
.addPostFrameCallback((_) => executeAfterBuildComplete(context));
}
यह आपका कॉलबैक फ़ंक्शन है
executeAfterBuildComplete([BuildContext context]){
print("Build Process Complete");
}
build
। बिल्ड को कई बार किसी भी समय कॉल किया जा सकता है।