flutter - 断言失败:第 1205 行第 12 行:'':不正确
问题描述
我是新来的,在 Syncfusion 日历小部件中遇到问题。任何帮助将不胜感激。这是我的构建小部件中的代码:
return Scaffold(
resizeToAvoidBottomInset: false, // set it to false
body: SafeArea(
child: SfCalendar(
view: CalendarView.month,
dataSource:getData(),
monthViewSettings: MonthViewSettings(showAgenda: true,),
),
),
);
'dart:ui/painting.dart':断言失败:第 1205 行 pos 12:'':不正确。
这是异常行:4 > child: SfCalendar()
这是堆栈跟踪:
**> 相关的导致错误的小部件是:SfCalendar
file:///Users/kashif/Desktop/AppRack/clique/lib/bottomDashboard/Calendar.dart:47:16 抛出异常时,这是堆栈:#2 Paint.color= (dart:ui/painting. dart:1205:12) #3 _AppointmentRenderObject._drawMonthAppointmentIndicator(包:syncfusion_flutter_calendar/src/calendar/appointment_layout/appointment_layout.dart:2042:15)#4 _AppointmentRenderObject._drawMonthAppointment(包:syncfusion_flutter_calendar/src/calendar/appointment_layout/appointment_layout.dart: 1698:9) #5 _AppointmentRenderObject._drawCustomAppointmentView (package:syncfusion_flutter_calendar/src/calendar/appointment_layout/appointment_layout.dart:1662:11)#6 _AppointmentRenderObject.paint (package:syncfusion_flutter_calendar/src/calendar/appointment_layout/appointment_layout.dart:1614: 7)#7 RenderObject._paintWithContext(包:flutter/src/rendering/object.dart:2396:7) #8 PaintingContext._repaintCompositedChild (package:flutter/src/rendering/object.dart:139:11) #9 PaintingContext.repaintCompositedChild (package:flutter/src/rendering/ object.dart:100:5) #10 PipelineOwner.flushPaint (package:flutter/src/rendering/object.dart:975:29) #11 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:464: 19) #12 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:879:13) #13 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:328:5) #14 SchedulerBinding。 _invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1143:15) #15 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1080:9) #16 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:996:5) #20 _invoke (dart:ui/hooks.dart:163:10) #21 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:259:5) #22 _drawFrame (dart:ui/hooks.dart:126:31) (从类 _AssertionError 和 dart:async 中省略了 5 帧) 触发异常时正在处理以下 RenderObject:_AppointmentRenderObject#b4ead ...需要合成 ... parentData : (可以使用大小) ...约束:BoxConstraints(w=411.4, h=452.8) ... 层:OffsetLayer#2d0bc ...引擎层:OffsetEngineLayer#fc8e9 ...偏移量:Offset(0.0, 0.0) 。 .. 尺寸:尺寸(411.4,452.8)渲染对象:_AppointmentRenderObject#b4ead31)(从 _AssertionError 类和 dart:async 中省略了 5 帧)触发异常时正在处理以下 RenderObject:_AppointmentRenderObject#b4ead ...需要合成 ... parentData:(可以使用大小)...约束:BoxConstraints (w=411.4, h=452.8) ...层:OffsetLayer#2d0bc ...引擎层:OffsetEngineLayer#fc8e9 ...偏移量:Offset(0.0, 0.0) ...大小:Size(411.4, 452.8) RenderObject: _AppointmentRenderObject#b4ead31)(从 _AssertionError 类和 dart:async 中省略了 5 帧)触发异常时正在处理以下 RenderObject:_AppointmentRenderObject#b4ead ...需要合成 ... parentData:(可以使用大小)...约束:BoxConstraints (w=411.4, h=452.8) ...层:OffsetLayer#2d0bc ...引擎层:OffsetEngineLayer#fc8e9 ...偏移量:Offset(0.0, 0.0) ...大小:Size(411.4, 452.8) RenderObject: _AppointmentRenderObject#b4ead大小(411.4,452.8)渲染对象:_AppointmentRenderObject#b4ead大小(411.4,452.8)渲染对象:_AppointmentRenderObject#b4ead
需要合成parentData:(可以使用size)约束:BoxConstraints(w=411.4, h=452.8) layer: OffsetLayer#2d0bc engine layer: OffsetEngineLayer#fc8e9 offset: Offset(0.0, 0.0) size: Size(411.4, 452.8) == ==================================================== =================================================**
解决方案
根据我们检查过的提供的信息,我们无法从最终重现上述问题。我们为此准备了一个简单的样本,基于给定的堆栈,我们怀疑样本中的约会颜色设置为空。请找到相同的代码片段。
代码片段:
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:flutter/widgets.dart';
import 'package:syncfusion_flutter_calendar/calendar.dart';
void main() => runApp(AgendaView());
class AgendaView extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Agenda(),
);
}
}
class Agenda extends StatefulWidget {
@override
State<StatefulWidget> createState() => AgendaExample();
}
class AgendaExample extends State<Agenda> {
@override
Widget build(BuildContext context) {
return Scaffold(
resizeToAvoidBottomInset: false,
body: SafeArea(
child: SfCalendar(
view: CalendarView.month,
dataSource: MeetingDateSource(_getDataSource()),
monthViewSettings: MonthViewSettings(showAgenda: true),
),
),
);
}
}
List<Meeting> _getDataSource() {
List<Meeting> meets = <Meeting>[];
meets.add(Meeting('Meeting', DateTime.now(),
DateTime.now().add(Duration(minutes: 30)), Colors.pink, true));
return meets;
}
class MeetingDateSource extends CalendarDataSource {
MeetingDateSource(List<Meeting> source) {
appointments = source;
}
@override
String getSubject(int index) {
return appointments![index].eventname;
}
@override
DateTime getStartTime(int index) {
return appointments![index].from;
}
@override
DateTime getEndTime(int index) {
return appointments![index].to;
}
@override
Color getColor(int index) {
return appointments![index].bgclr;
}
@override
bool isAllDay(int index) {
return appointments![index].bval;
}
}
class Meeting {
Meeting(this.eventname, this.from, this.to, this.bgclr, this.bval);
String eventname;
DateTime from;
DateTime to;
Color bgclr;
bool bval;
}
如果共享信息不符合您的要求,请您修改共享示例以复制问题,或者如果可能,共享用于复制过程的日历代码片段,以便我们进一步分析并尽早为您提供可能的解决方案.
推荐阅读
- c# - C# 基于条件运算符构建表达式树以与 MongoDB 过滤器一起使用
- youtube - 如何从 youtube 预览图像中删除黑色边框(不同的图像黑色边框长度)
- reactjs - 来自任何其他组件的 React Access Loader 组件
- logging - 我可以在 datadog 仪表板的查询小部件中总结不同的日志吗?
- c# - .Net Core 3.1 导入的 WCF 参考忽略枚举值
- firebase - Flutter - 当用户从各自的设备上卸载 iOS 和 Android 应用程序时,删除 Firebase Firestore 数据的云功能
- python - 将 dcc.Interval 动态添加到破折号
- javascript - 移动端Safari中,网站添加到主屏幕,导航页面时顶部和底部显示灰色条,如何使其全屏?
- aws-cli - 如何在 aws-cli 中轮询请求状态?
- python - 检查数据框的两列是否在python中具有不同顺序的相同元素