web-dev-qa-db-fra.com

Les widgets développés doivent être placés dans les widgets Flex

Nouveau pour flutter, quelqu'un peut-il me dire ce qui ne va pas avec le code ci-dessous enter image description here

  class GamePage extends StatelessWidget {
  int _row;
  int _column;

  GamePage(this._row,this._column);

  @override
  Widget build(BuildContext context) {
    return new Material(
      color: Colors.deepPurpleAccent,
      child:new Expanded(
          child:new GridView.count(crossAxisCount: _column,children: new List.generate(_row*_column, (index) {
        return new Center(
            child: new CellWidget()
        );
      }),) )


    );
  }
}

Attaching error screenshot.

23
pallav bohara

Vous n'avez pas d'ancêtre Flex.

Un widget développé doit être un descendant d'une ligne, d'une colonne ou d'un Flex, et le chemin d'accès du widget développé à sa ligne, sa colonne ou son Flex doit contenir uniquement StatelessWidgets ou StatefulWidgets (pas d'autres types de widgets, tels que RenderObjectWidgets).

Je ne suis pas sûr de la nécessité de Expanded dans votre cas. Mais le supprimer ou l’envelopper dans un Column devrait résoudre le problème.

23
aziza