Flutter : comment corriger l'erreur The method xx was called on null ?

Apprendre à programmer avec Flutter nécessite à la fois d'apprendre le fonctionnement d'un framework mais également d'apprendre un nouveau langage : le langage Dart. Ce langage a en effet été créé dans ce but par les équipes de Google. Son utilisation s'est élargie à d'autres applications web depuis. Lorsque vous commencez à créer une application avec Flutter, vous pourrez rencontrer le message d'erreur suivant : "The method xx was called on null". Ce message d'erreur est lié à l'absence d'une étape dans la création de votre widget.

Vous pouvez dans votre widget intégrer un objet provenant de n'importe quelle classe que vous avez vous-même créée. Vous pouvez l'indiquer comme étant un attribut du widget en le préfixant avec un underscore. De cette manière, votre objet sera disponible n'importe où dans le code de votre widget.

class pageAccueil extends StatefulWidget {
    MaClasse _objet;

    void initState() {
        super.initState();
        _objet = new Objet();
        _objet->methode();
    }
}

Le message d'erreur "The method xx was called on null" s'affiche si vous n'avez pas mis la ligne qui initialise votre objet (ici, "_objet = new Objet();"). Comme l'objet est null, on ne peut pas appeler de méthode. Généralement, l'initialisation des objets se fait soit directement en les déclarant dans la définition du widget, soit dans la méthode "initState()". Cette méthode est appelée lors de la construction du widget. Une fois l'objet initialisé, vous pouvez utiliser les méthodes écrites dans la classe. Vous pouvez en plus, si votre logique d'application le permet, utiliser le mot-clé "final". Ce mot-clé indique que l'objet va être initialisé, puis sa valeur ne pourra plus être changée. Dans le cas d'un attribut d'un widget comme dans cet exemple, cela peut être utile pour être sûr que vous ne modifiez pas votre variable plusieurs fois.

Autour du même sujet

Android