activate method

  1. @mustCallSuper
void activate ()
@mustCallSuper, inherited

Transition from the "inactive" to the "active" lifecycle state.

The framework calls this method when a previously deactivated element has been reincorporated into the tree. The framework does not call this method the first time an element becomes active (i.e., from the "initial" lifecycle state). Instead, the framework calls mount in that situation.

See the lifecycle documentation for Element for additional information.

Implementation

@mustCallSuper
void activate() {
  assert(_debugLifecycleState == _ElementLifecycle.inactive);
  assert(widget != null);
  assert(owner != null);
  assert(depth != null);
  assert(!_active);
  final bool hadDependencies = (_dependencies != null && _dependencies.isNotEmpty) || _hadUnsatisfiedDependencies;
  _active = true;
  // We unregistered our dependencies in deactivate, but never cleared the list.
  // Since we're going to be reused, let's clear our list now.
  _dependencies?.clear();
  _hadUnsatisfiedDependencies = false;
  _updateInheritance();
  assert(() {
    _debugLifecycleState = _ElementLifecycle.active;
    return true;
  }());
  if (_dirty)
    owner.scheduleBuildFor(this);
  if (hadDependencies)
    didChangeDependencies();
}