首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Flutter GridView "type 'List<Widget>不是微件类型的子类型“

Flutter GridView是一个用于展示网格布局的组件,它可以在屏幕上以网格形式显示一组子组件。当在使用GridView时,出现"type 'List<Widget>'不是微件类型的子类型"的错误提示时,通常是由于传递给GridView的子组件列表类型不正确导致的。

解决这个问题的方法是确保传递给GridView的子组件列表是一个有效的Widget类型的列表。以下是一些可能导致这个错误的常见原因和解决方法:

  1. 检查子组件列表的类型:确保传递给GridView的子组件列表是一个有效的Widget类型的列表。如果子组件列表中包含了其他类型的对象,如String或int,会导致这个错误。可以通过在子组件列表前加上<Widget>来明确指定列表的类型,例如:List<Widget> children = [Widget1(), Widget2()];
  2. 检查子组件列表的内容:确保子组件列表中的每个元素都是有效的Widget类型。如果子组件列表中包含了无效的Widget对象,也会导致这个错误。可以逐个检查子组件列表中的每个元素,确保它们都是有效的Widget对象。
  3. 检查子组件列表的生成方式:如果子组件列表是通过某个方法或函数生成的,确保该方法或函数返回的是一个有效的Widget类型的列表。可以在生成子组件列表的方法或函数中添加类型注解,以确保返回的是正确的类型。

总结起来,当出现"type 'List<Widget>'不是微件类型的子类型"的错误提示时,需要检查传递给GridView的子组件列表的类型、内容和生成方式,确保它们都是有效的Widget类型的列表。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Flutter开发:Gridview使用

    Flutter开发中,表格组件是经常要用到,表格展示数据也是App开发过程中不可缺少需求功能,其实Gridview属性和ListView属性很接近,那么本篇文章就来聊聊Flutter开发中表格组件...Gridview常用几种方式: 1、GridView.count(@required int crossAxisCount) GridView.count使用,需要传是int类型参数,也就是创建固定数量...使用,需要传是double类型参数,也就是创建横轴上最大可容纳item,maxCrossAxisExtent表示横轴item最大宽度; 3、GridView.builder(@required...动态创建widget,itemBuilder表示widget构造器; 4、GridView.custom(@required this.gridDelegate,@required this.childrenDelegate...) GridView.custom使用,通过两个代理方法gridDelegate和childrenDelegate来创建Gridview,其中gridDelegate是进行布局代理,控制每列或每行

    64710

    Flutter可滑动组件

    Flutter中,我们也有对应列表Widget,就是ListView。 注意:在Flutter里面想要实现滑动效果,都需要在组件外部包裹滚动视图。...1.2 默认构造函数 默认构造函数有一个children参数,它接受一个Widget列表(List)。这种方式适合只有少量组件数量已知且比较少情况。...因为默认构造器中接收了一组明确Widget,构造这组Widget时会一次性将所有组件都初始化,而不是只初始化那些可见Widget,即默认构造器不存在懒加载功能。...4.2 ScrollController 在Flutter中,Widget不是最终渲染到屏幕上元素(真正渲染是RenderObject),因此通常这种监听事件以及相关信息并不能直接从Widget...NotificationListener是一个Widget,模板参数T是想监听通知类型,如果省略,则所有类型通知都会被监听,如果指定特定类型,则只有该类型通知会被监听。

    7.2K30

    Flutter 构建完整应用手册-列表 顶

    创建一个水平列表 有时,您可能想要创建一个水平滚动而不是垂直滚动列表。 ListView部件支持开箱即用水平列表。...路线 使用不同类型条目创建数据源 将数据源转换为部件列表 1.使用不同类型条目创建数据源 项目类型 为了在列表中表示不同类型项目,我们需要为每种类型项目定义一个类别。...We'll // convert each item into a Widget based on the type of item it is....We'll // convert each item into a Widget based on the type of item it is....创建一个网格列表 在某些情况下,您可能希望将项目显示为网格,而不是显示下一个项目的普通列表。 对于这个任务,我们将使用GridView部件。

    2.6K20

    Flutter 空安全糖果罐

    变化 (默认 开启) -t, --type pubsepec.yaml 生成配置类型 "d" 代表以文件夹方式生成...,包括以下主要功能: 监听元素回收 监听 Viewport 中元素变化 为最后一个元素设置特殊布局 列表倒序特殊布局,类聊天列表 | ---|--- gridview.gif | chat_list.gif...smartDialog 资源选择器 AssetPicker,对标多选资源选择器,99%接近于原生操作,主要包括以下功能: ♻️ 支持基于代理重载全量自定义 99% 信风格 图片资源支持...99% 信风格 支持拍照 ☀️ 支持设置曝光参数 ️ 支持捏合缩放 支持录像 ⏱ 支持限制录像时间 支持录像时缩放 支持自定义前景 widget 构建 image | image...您仍然可以对任何类型列表进行截断,也可以对一个可空类型列表进行填充。 如果您自定义了列表类型,例如继承了 ListBase 或者混入了 ListMixin,那么这项改动可能会造成较大影响。

    1.6K10

    Flutter开发-可滚动组件

    列表 List children = const [], }) 上面参数分为两组:第一组是可滚动组件公共参数,本章第一节中已经介绍过,不再赘述;第二组是ListView..., List children = const [], }) 我们可以看到,GridView和ListView大多数参数都是相同,它们含义也都相同,如有疑惑读者可以翻阅...我们唯一需要关注是gridDelegate参数,类型是SliverGridDelegate,它作用是控制GridView组件如何排列(layout)。...上面我们介绍GridView都需要一个widget数组作为其元素,这些方式都会提前将所有widget都构建好,所以只适用于widget数量比较少时,当widget比较多时,我们可以通过GridView.builder...是不行,因为它们本身是可滚动组件而并不是Sliver!

    4.5K20

    Flutter | 滚动组件,ListView,GridVIew

    列表 List children = const [], }) 复制代码 上面的参数分为两组:第一组是可滚动组件公共参数,上面已经说过了;第二组是 ListView...这种方式只适合有少量组件情况,因为这种需要将所有 children 都提前创建好(这需要大量工作),而不是等子 widget 真正显示时候在创建,也就是说默认构造函数构建 ListView..., List children = const [], }) 复制代码 GridView 和 ListView 参数大多数都是相同,含义也都是相同,有疑问可以翻到上面查看...gridDelegate:类型是 SliverGridDelegate,他作用是控制 GridView 如何排列(layout) SliverGridDelegate 是一个抽象类,定义类 GridView...Widget数组 作为其元素,这些方式会提前创建好 widget,只适用于 widget 数量较小时候,当 widget 比较多时候,可以通过 GridView.builder 来动态创建 Widget

    8.5K20

    Flutter 布局常用 widgets(Common layout widgets)

    Container 小结: 添加 padding, margins, 和边界(borders) 能够更好背景颜色和图片 包含一个单独widget,这个子widget可以是Row、Column或一个widget...GridViewGridView来将widget放入一个2维列表中。 GridView提供了2个预装配好列表,也可以自己建立自定义列表。 GridView支持滚动。...允许指定子项最大像素宽度 示例1 - 用GridView.extent GridView.extent指定子项占据最大宽度 import 'package:flutter/material.dart...Stack 小结: 用来在当前widget上面再盖上一层widget Stack children中第一个widget放在最下,后面的widget会一层层盖上去 Stack内容不支持滚动 可以裁剪超出范围...Card只有一个widget,可以是column、row、list、grid或其它组合widget。 默认情况下,Card把自己尺寸缩小为0像素。可以用SizedBox来指定card尺寸。

    1.3K30

    半小时带你入门 Flutter

    由于信外链限制,推荐阅读等链接无法点击,可点击阅读原文跳转至原文,查看外链。??...Flutter框架将依次构建这些widget,直到构建到最底层widget时,这些最低层widget通常为RenderObject,它会计算并描述widget几何形状。...GridView 可滚动网格布局,理解为display:grid GridView提供两个预制list,当GridView检测到内容太长时,会自动滚动。...列表中第一个widget是base widget; 随后widget被覆盖在基础widget顶部。Stack内容不能滚动。有点类似于weex中设置了absolute感觉。...技能来说,最大困难可能是找不到合适Widget去实现想要布局或者效果,甚至包括css样式作用于那个Widget,譬如Opacity是一个widget不是一个css样式~ 所以对于Flutter

    1.7K20

    ListView&GirdView

    在前面的文章中我们了解了Flutter中操作提示用法,包括SnackBar、Dialog、以及BottomSheet,通过这些Widget我们可以很方便实现对应用操作提示。...在本篇文章中,我们会进一步对Flutter中常用Widget进行介绍,有印象童鞋可能还记得,在前面的文章中我们分享了Row和Colunm用法,我们也使用这两个Widget完成了一些类似列表操作,...好吧,我们还是来看下这两个Widget用法吧 ListView ---- ListView就是我们常见列表组件,在平时应用开发中十分常见,无论你做是什么类型应用都会多多少少会用到ListView...在Flutter中有三种构建ListView方式,刚才介绍是最简单一种,但是却不是最常用,因为它仅仅适用于已知数量或者较少数量Item情况。... bool addAutomaticKeepAlives: true, bool addRepaintBoundaries: true, List children: const <Widget

    1.7K20

    GridView滚动列表顶级用法【flutter20个实例之二】

    一、老套路,先看样式 文章底部源码,是左侧样式,右侧是我实际开发中展示 ? ? 二、讲解(后附源码) 1.这里主要是用到GridView 组件 GridView是一个可滚动,2D数组控件。...gridDelegate参数控制控件排列,有2个选择: SliverGridDelegateWithFixedCrossAxisCount:交叉轴方向上固定数量,对于垂直方向GridView来说交叉轴方向指的是水平方向...mainAxisSpacing:主轴方向上2行之间间隔。 crossAxisSpacing:交叉轴方向上之间间隔。 childAspectRatio:控件宽高比。...flutter一些快捷键 5.当然通过children方式加载组件并不是个好方式 GridView提供了一些快速构建方法 ,记住以下常用两个就行 GridView.builder( gridDelegate...( crossAxisCount: 3, children: List.generate(50, (i) { return Container( height: 80,

    2K20

    GridView组件初体验

    前文我们聊了FlutterListView组件,其类似于OC中UITableView;今天我们来聊聊GridView组件,其实现效果类似于OC中UICollectionView。...代码如下: class HomeContent extends StatelessWidget { //创建各个子元素自定义方法 List _getChildren() {...: 10, //交叉轴(默认情况下为横轴)上widget之间距离,即列与列之间距离(默认) mainAxisSpacing: 10, //主轴(默认情况下为纵轴)上widget之间距离...Widget元素宽/高比 ); } } GridView.builder class HomeContent extends StatelessWidget { Widget _getItemBuilder...mainAxisSpacing: 10,//主轴(默认情况下为纵轴)上widget之间距离,即行与行之间距离(默认) childAspectRatio: 1.0),//Widget

    54330
    领券