Nếu bạn chỉ muốn thực hiện điều này một lần, thì hãy làm điều đó vì Khung công tác sẽ gọi initState()
phương thức chính xác một lần cho mỗi đối tượng Trạng thái mà nó tạo ra.
@override
void initState() {
super.initState();
WidgetsBinding.instance
.addPostFrameCallback((_) => executeAfterBuildComplete(context));
}
Nếu bạn muốn thực hiện điều này lặp đi lặp lại như quay lại hoặc điều hướng đến màn hình tiếp theo và v.v., hãy làm điều đó vì didChangeDependencies()
Được gọi khi một phụ thuộc của đối tượng Trạng thái này thay đổi.
Ví dụ, nếu cuộc gọi trước đó build
tham chiếu đến một InheritedWidget
mà sau đó đã thay đổi, khung công tác sẽ gọi phương thức này để thông báo cho đối tượng này về sự thay đổi.
Phương thức này cũng được gọi ngay sau đó initState
. Nó là an toàn để gọi BuildContext.dependOnInheritedWidgetOfExactType
từ phương pháp này.
@override
void didChangeDependencies() {
super.didChangeDependencies();
WidgetsBinding.instance
.addPostFrameCallback((_) => executeAfterBuildComplete(context));
}
Đây là chức năng Gọi lại của bạn
executeAfterBuildComplete([BuildContext context]){
print("Build Process Complete");
}
build
. Xây dựng có thể được gọi bất kỳ lúc nào nhiều lần.