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

在Flutter中,参数类型为“List<InkWell>?”不能分配给参数类型“”List<Widget>“”

在Flutter中,参数类型为List<InkWell>不能分配给参数类型List<Widget>。这是因为在Dart语言中,泛型是具有不同类型参数的类型的通用表示。虽然List<InkWell>List<Widget>的子类,但在Dart中,泛型类型的类型参数是具有不同类型参数的不同类型。因此,无法将具有不同类型参数的泛型类型直接赋值给另一个泛型类型。

要解决这个问题,可以使用List<Widget>.from构造函数将List<InkWell>转换为List<Widget>,如下所示:

代码语言:txt
复制
List<InkWell> inkwells = [...]; // 假设这是一个InkWell的列表
List<Widget> widgets = List<Widget>.from(inkwells);

上述代码将inkwells列表中的每个InkWell元素转换为相应的Widget类型,并将结果存储在widgets列表中。现在,widgets列表可以作为参数传递给类型为List<Widget>的方法或构造函数。

注意:在使用List<Widget>.from转换时,需要确保每个InkWell元素都是有效的Widget类型,否则将会出现运行时错误。

相关搜索:参数类型'List<Null>?‘不能分配给参数类型“”List<Widget>“”不能将参数类型“List<Set<Card>>”分配给参数类型“List<Widget>”Flutter错误:参数类型为'List<dynamic>?‘不能分配给参数类型“”List<dynamic>“”flutter list错误参数类型'List‘不能分配给参数类型'String’不能将参数类型'List<Widget>‘分配给参数类型’({List<Card>:bool})→growable‘参数类型'List<dynamic>?‘不能分配给参数类型'List<dynamic>‘。在使用list时不能将参数类型“List<String>”分配给参数类型“List<String>Function()”参数类型“Future”不能分配给参数类型“List<LatLng>”Flutter -参数类型'Iterable>‘不能赋值给类型'List’不能将参数类型“List<ChatModel>”分配给参数类型“ChatModel”不能将参数类型“BoxShadow”分配给参数类型“List<BoxShadow>”不能将参数类型List<LatLng>分配给参数类型“LatLng”迁移到空安全性:参数类型'Object?‘不能分配给参数类型“”List<Widget>“”错误:不能将参数类型“List<int>”分配给参数类型“Uint8List”参数类型“List<Series<dynamic,dynamic>>”不能分配给参数类型“List<Series<dynamic,String*>*>*”参数类型“Widget”不能分配给参数类型“PreferredSizeWidget?”参数类型“String”不能分配给参数类型“Uint8List”不能将参数类型“List<dynamic>”分配给参数类型“Iterable<Object>”不能将参数类型“List<dynamic>”分配给参数类型“Iterable<Video>”不能将参数类型“DropdownMenuItem<dynamic>”分配给参数类型“List<DropdownMenuItem<String>>?”
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

FastAPI(11)- 函数参数类型是列表,但不使用 typing 中的 List,而使用 list,会怎么样?

使用 typing 中的 List、Set、Tuple 的栗子 from typing import Optional import uvicorn from fastapi import FastAPI...update_item( list_: List[int] = Body(...), tuple_: Tuple[int] = Body(...), set...、Set、Tuple 都会指定里面参数的数据类型 而 FastAPI 会对声明了数据类型的数据进行数据校验,所以会针对序列里面的参数进行数据校验 如果校验失败,会报一个友好的错误提示 使用 list、...set、tuple 的栗子 用 Python 自带的 list、set、tuple 类,是无法指定序列里面参数的数据类型,所以 FastAPI 并不会针对里面的参数进行数据校验 @app.put("/items...return results 变成传啥类型的值都可以 总结 要充分利用 FastAPI 的优势,强烈建议用 typing 的 List、Set、Tuple 来表示列表、集合、元组类型

3.9K30

带你深入 Dart 解析一个有趣的引用和编译实验

首先我们看一段代码,如下代码所示,可以看到: 首先我们定义了一个叫 idx 的 int 型参数; 然后在 for 循环里添加了三个 InkWell 可点击控件; 最后在 onTap 里面将 idx 打印出来...如下代码所示,我们在 for 循环里增加了一个 index 参数,把每次 idx 都赋值给 index ,这样点击打印出来的结果,就会是点击对应的 index 。...如下代码所示,把 InkWell 放到一个 getItem 函数里返回,然后 index 通过函数参数传递进来,可以看到运行后的结果,也是点击对应 InkWell 打印对应的 index 。...: #C66613), $creationLocationd_0dea112b090073317d4: #C66617)); } 因为 onTap 是在点击后才输出参数的,而对于 for (...至于为什么会有这样的逻辑,在深入的运行时逻辑就没有去探索了(懒),推测应该是编译后的二进制文件在运行时,针对循环外的参数和循环内的参数优化有关系。

1.3K20
  • Flutter中的日期、格式化日期、日期选择器组件在

    Flutter的第三方库 date_format 的使用 实际上,我在之前介绍在Flutter中如何导入第三方库的文章依赖管理(二):第三方组件库在Flutter中要如何管理中,就是以date_format...在依赖管理(二):第三方组件库在Flutter中要如何管理中,我详细介绍了如何去查找第三方库、如何将pub.dev中的第三方库安装到Flutter项目中、date_format库的基本使用,这里我就不赘述了...//调起日期选择器 _showDatePicker() { //获取异步方法里面的值的第一种方式:then showDatePicker( //如下四个参数为必填参数...//调起日期选择器 _showDatePicker() async { //第一种方式:then showDatePicker( //如下四个参数为必填参数...在iOS和Android中,都有国际化配置的概念,Flutter中也不例外。在Flutter中如何配置国际化呢?

    26.1K52

    flutter系列之:移动端手势的具体使用

    赋予widget可以点击的功能 一般情况下,我们的普通widget,比如文本是不能进行交互的,但是如果将其用GestureDetector进行包装之后,就可以将其伪装成为一个button。...答案是肯定的,flutter为我们提供了一个InkWell组件,这样手指按压下组件会产生波纹的效果。 那么InkWell和GestureDetector有什么联系呢?...InkWell和GestureDetector很类似,都提供了对手势的支持。 在InkWell中提供了多种GestureTapCallback接口,用接收手势的回调,非常的方便。...在使用上,InkWell和GestureDetector也很类似,我们可以完全照搬GestureDetector的用法。...可删除的组件 在app中的手势应用上,有一个比较常见的用法就是在list列表中,向左滑动一个item,会出现删除的按钮,这种滑动删除的效果,如何在flutter中实现呢?

    1.1K40

    flutter系列之:移动端手势的具体使用

    赋予widget可以点击的功能一般情况下,我们的普通widget,比如文本是不能进行交互的,但是如果将其用GestureDetector进行包装之后,就可以将其伪装成为一个button。...答案是肯定的,flutter为我们提供了一个InkWell组件,这样手指按压下组件会产生波纹的效果。那么InkWell和GestureDetector有什么联系呢?...InkWell和GestureDetector很类似,都提供了对手势的支持。在InkWell中提供了多种GestureTapCallback接口,用接收手势的回调,非常的方便。...在使用上,InkWell和GestureDetector也很类似,我们可以完全照搬GestureDetector的用法。...可删除的组件在app中的手势应用上,有一个比较常见的用法就是在list列表中,向左滑动一个item,会出现删除的按钮,这种滑动删除的效果,如何在flutter中实现呢?

    99510

    Flutter 入门指北之手势处理和动画

    在 Flutter 中,自带手势监听的目前为止好像只有按钮部件和一些 chip 部件,例如 Text 等部件需要实现手势监听,就需要借助带有监听事件的部件来实现了,这节我们会讲下 InkWell 和 GestureDetector...InkWell 是在 MaterialDesign 风格下的一个用来响应触摸的矩形区域(注意加粗的文字,1.如果不是 MD 风格的部件下,你是不能用这个来做点击响应的;2.InkWell 是一块矩形区域...// 监听手指点击事件 this.onTap, // 一个 `GestureTapDownCallback` 类型参数,需要 `TapDownDetails` 类型参数, //...Interval 用来延迟动画,例如一个时长 6s 的动画,通过 Interval 设置其 begin 参数为 0.5,end 参数设置为 1.0,那么这个动画就会变成 3s 的动画,并且开始的时间延迟了...Hero 通过指定 Hero 中的 tag,在切换的时候 Hero 会寻找相同的 tag,并实现动画,具体的实现逻辑,这里可以推荐一篇文章 谈一谈Flutter中的共享元素动画Hero,里面写的很详细,

    1.9K30

    Flutter 构建完整应用手册-处理手势

    添加材质涟漪效果 在设计应遵循材质设计指南的应用程序时,我们希望在点击时将涟漪动画添加到部件。 Flutter提供InkWell部件来达到这个效果。...路线 创建一个我们想要点击的部件 将其包装在InkWell部件中以管理点击回调和涟漪动画 // The InkWell Wraps our custom flat button Widget new InkWell...实现划动消除 “划动消除”模式在很多移动应用中很常见。 例如,如果我们正在编写一个电子邮件应用程序,我们可能希望允许我们的用户在列表中划离邮件消息。...final items = new List.generate(20, (i) => "Item ${i + 1}"); 将数据源转换为List 首先,我们将简单地在屏幕上的列表中显示每个条目...为此,我们将为Dismissible提供background参数。

    1.8K20

    Flutter 入门指北之弹窗和提示(干货)

    前面的小节把常用的一些部件都介绍了,这节介绍下 Flutter 中的一些操作提示。...Flutter 中的操作提示主要有这么几种 SnackBar、BottomSheet、Dialog,因为 Dialog 样式比较多,放最后讲好了 SnackBar SnackBar 的源码相对简单 const...BottomSheet BottomSheet 看命名就知道是从底部弹出的菜单,展示 BottomSheet 有两种方式,分别是 showBottomSheet 和 showModalBottomSheet,两种方式只有在展示类型上的差别...在 ListView 中增加一个 BottomSheet 的按钮,因为 BottomSheet 需要的 context 也不能是 Scaffold 下的 context,所以需要通过 Builder 进行包裹一层...false, // 通过 StatefulBuilder 来保存 dialog 状态 // builder 需要传入一个 BuildContext 和 StateSetter 类型参数

    2.3K20

    【Flutter 专题】124 日常问题小结 (三) 自定义 Dialog 二三事

    resizeToAvoidBottomPadding / resizeToAvoidBottomInset 为 true,当设置为 false 时,文本框获取焦点时,依旧会被软键盘遮挡;因为在固定情景可以配合...resizeToAvoidBottomPadding 实现是否被软键盘遮挡效果; resizeToAvoidBottomPadding 主要用于自身 Widget 是否避免被其他窗口遮挡;其中和尚查资料介绍在...Dialog 回调传参 和尚在自定义 Dialog 时如何在一个回调方法中传递多个参数? A3....接收方法与 Function 传递参数匹配 和尚在 Dialog 的回调方法中传递两个 List,而在接收回调方法中匹配两个参数即可;和尚简单看作是一个函数方法; // 传参方法 onSelectEvent...automaticallyImplyLeading 属性设置为 false; @override Widget build(BuildContext context) { return Scaffold

    1.2K70

    构建实用的Flutter文件列表:从简到繁的完美演进

    在我们的示例中,我们将在AppBar中添加一个按钮来切换布局方式。...在每个文件的Card中,我们放置了一个文件图标和文件名,并通过InkWell来处理文件的点击事件。 通过以上步骤,我们已经成功实现了网格布局的文件列表。...通过设置overflow为TextOverflow.ellipsis,可以让文本在超出一定长度后自动截断,并显示省略号。...在pubspec.yaml文件中添加http库的依赖: dependencies: flutter: sdk: flutter http: ^1.2.0 然后运行flutter pub...(GIF动不了啊)(又可以动了) 总结 在本文中,我们详细探讨了如何在Flutter应用中构建文件列表,并逐步改进和优化这个文件列表,以提升用户体验和功能性。

    26512

    用flutter给图片加个好看的遮罩层【flutter20个实例之六】

    一、老套路,先看样式 左起图一是我业务中的样式,左起图二、三是下方源码展示样式(复制可直接运行,无额外组件引入) ? ? ?...:为每个图标增加个点击事件 由于底部弹框也相当于一个页面,所以想要里面的select选择后内容跟着变动,就需要重定义setState() 4.核心内容列表就是一个GridView 一行显示4个 crossAxisCount...65%=59 70%=4c 75%=3F 80%=33 85%=21 90%=19 95%=0c 100%=00(全透明) 三、源码(可直接运行调试) import 'package:flutter.../cupertino.dart'; import 'package:flutter/material.dart'; class Mytest extends StatefulWidget { @override..., ), ), ); } Widget _itemGrid(index) { return InkWell( child: Container

    4.3K30

    Flutter学习

    Flutter的widget是不可改变的因此不能直接更新,而必须使用Widget的状态。Flutter的widget分为有状态和无状态两种。...例如,RaisedButton有一个onPressed参数 如果Widget不支持事件监听,则可以将该Widget包装到GestureDetector中,并将处理函数传递给onTap参数。...中可能用不同的控件可以实现到相同的目的,尽量使用越简单的widget来实现) 控件在整个手机屏幕中间对齐:ConstrainedBox、SizedBox、Center banner+list三种实现方式...在Flutter中,导航器管理应用程序的路由栈。将路由推入(push)到导航器的栈中,将会显示更新为该路由页面。 从导航器的栈中弹出(pop)路由,将显示返回到前一个路由。...添加尾随逗号很简单:始终在函数、方法和构造函数的参数列表末尾添加尾随逗号,以便保留您的编码格式。 这将有助于自动格式化程序为Flutter样式代码插入适当的换行符。

    2.6K20

    Flutter开发中的一些Tips

    ,高度为36,但是FlatButton中没有直接修改的属性,网上好多的方法都是通过包一层Container去修改,不仅增加的嵌套,有些需求还不能达到。...在输入金额类型数据时,需要将keyboardType属性设置为TextInputType.numberWithOptions(decimal: true)。...6.keyboardType ---- keyboardType属性主要含义为弹起的键盘类型,并不代表输入数据的类型。...而在Android开发中,在EditText中设置android:inputType不仅可以指定弹起的键盘类型,同时也确定了输入数据的类型,也就是内置了数据的格式校验。...诸如此类的信息没有打包进去(但是引用xml中的flutter_image_picker_file_paths文件却在),导致我实际使用这些功能时没有反应,但是在平时的调试过程中却是好的。

    2.2K30
    领券