Flutter学习途中----问题锦集

1、使用ListView.builder()报错

原因: 使用ListView或类似的可滚动组件时,没有为其父级组件设置明确的高度限制而导致的。这意味着可滚动组件的高度将无限增长,从而导致性能问题和其他布局问题。

解决:给父级组件设置明确的高度

2、语句没有打印

 

问题:state.zxStockList.forEach((element) { print("自选股票数据:${element.toJson()}"); });没有打印数据

原因:可能是因为获取股票数据的异步函数MarketApi.getOptionalStockList()还没有执行完毕,就已经执行了print("获取股票数据成功")和state.zxStockList.forEach()语句。

解决办法:将print("获取股票数据成功")和state.zxStockList.forEach()放在MarketApi.getOptionalStockList()的回调函数里面,确保获取到数据后再进行打印。

 

3、使用Expanded(child:PageView.builder()),报错提示:RenderBox was not laid out: _RenderScrollSemantics#cf526 relayoutBoundary=up7 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE 'package:flutter/src/rendering/box.dart': Failed assertion: line 1979 pos 12: 'hasSize'

原因: 没有为父级组件设置具体的宽高度,导致Flutter框架无法计算出小部件的大小和位置。当您在父级组件上设置具体的宽度时,您为子组件提供了明确的布局约束,这有助于Flutter框架正确计算子组件的大小和位置。如果您不提供明确的布局约束,Flutter框架将无法确定子组件的大小和位置,从而导致布局错误。

解决:

4、在pubspec.yaml 文件中声明 date_format 依赖项,但始终找不到包,直接导入包也失效

解决办法:在pubspec.yaml 文件中声明 intl 依赖项,导入 import 'package:intl/intl.dart'; 包

原因:intl 包内置了 DateFormat

5、将build中的GetX的状态state传入到另外一个自定义的Widget中报错,提示:

The argument type 'TaskPageState (where TaskPageState is defined in E:\yangflutter\Task_Windows\lib\pages\task_page\task_page_state.dart)' can't be assigned to the parameter type 'TaskPageState (where TaskPageState is defined in E:\yangflutter\task_windows\lib\pages\task_page\task_page_state.dart)'. (Documentation) TaskPageState is defined in E:\yangflutter\Task_Windows\lib\pages\task_page\task_page_state.dart (task_page_state.dart:2). TaskPageState is defined in E:\yangflutter\task_windows\lib\pages\task_page\task_page_state.dart (task_page_state.dart:2).TaskPageState说明你在两个不同的文件中定义了相同的TaskPageState类,但它们被认为是不同的类型。

原因:在引用TaskPageState的文件时路径出错。或许是大小写问题、或许是不同位置的。

解决办法:检查所有使用到TaskPageState的地方,看它们所引用的路径是否相同(引用的是否是是同一个文件中的类)。

1、从TaskPageState里面查看在文件中有几个使用到它的地方

如图可知,此时共在两个地方使用到了该类。

但其实,在编写代码过程中TaskPagePage类也使用到了它。

此时可以知道,TaskPageLogic和TaskPagePage在使用TaskPageState时引用路径不同。

 所以:将TaskPagePage中的引用路径改成和TaskPageLogic一致即可

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值