大佬教程收集整理的这篇文章主要介绍了NoSuchMethodError。 getter 'weekday' 被调用为 null。 Table_Calendar Flutter,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我被桌面日历困住了。 在 AndroID studio 中,我收到以下错误:
The following NoSuchMethodError was thrown building StreamBuilder<List<AppEvent>>(dirty,state: _StreamBuilderBaseState<List<AppEvent>,AsyncSnapshot<List<AppEvent>>>#c5581):
The getter 'weekday' was called on null.
Receiver: null
TrIEd calling: weekday
这是我的代码:如果有必要,我可以发布更多代码,例如类。 其他代码完美运行。即使在应用程序的红色问题屏幕中,我也可以触发浮动按钮并添加事件。但是我再也看不到日历导致红色问题屏幕。
import 'package:app_tennis_sv_schwaig/kalender/add_event.dart';
import 'package:app_tennis_sv_schwaig/kalender/event_details.dart';
import 'package:app_tennis_sv_schwaig/kalender/event_firestore_service.dart';
import 'package:app_tennis_sv_schwaig/kalender/app_event.dart';
import 'package:Flutter/material.dart';
import 'package:intl/intl.dart';
import 'package:table_calendar/table_calendar.dart';
class TennisKalender extends StatefulWidget {
@overrIDe
_TennisKalenderState createState() => _TennisKalenderState();
}
class _TennisKalenderState extends State<TennisKalender> {
CalendarController _calendarController = CalendarController();
Map<@R_450_7538@me,List<AppEvent>> _groupedEvents;
_groupEvents(List<AppEvent> events) {
_groupedEvents = {};
events.forEach((event) {
@R_450_7538@me date =
@R_450_7538@me.utc(event.date.year,event.date.month,event.date.day,12);
if (_groupedEvents[date] == null) _groupedEvents[date] = [];
_groupedEvents[date].add(event);
});
}
@overrIDe
Widget build(BuildContext context) {
return Scaffold(
BACkgroundcolor: colors.orange,appbar: Appbar(
BACkgroundcolor: colors.red,title: Text("Tenniskalender"),actions: <Widget>[
Iconbutton(
icon: Icon(Icons.person),onpressed: (null),)
],),body: SingleChildScrollVIEw(
child: StreamBuilder(
stream: eventDBs.streamList(),builder: (BuildContext context,AsyncSnapshot snapshot) {
if (snapshot.hasData) {
final events = snapshot.data;
_groupEvents(events);
@R_450_7538@me SELEctedDate = _calendarController.SELEctedDay;
final _SELEctedEvents = _groupedEvents[SELEctedDate] ?? [];
return column(
crossAxisAlignment: CrossAxisAlignment.start,children: [
Card(
clipBehavior: Clip.antiAlias,margin: const EdgeInsets.all(8.0),child: tableCalendar(
calendarController: _calendarController,events: _groupedEvents,onDaySELEcted: (date,events,holIDays) {
setState(() {});
},starTingDayOfWeek: StarTingDayOfWeek.monday,headerStyle: headerStyle(
decoration: Boxdecoration(
color: colors.red,headermargin: const EdgeInsets.only(bottom: 8.0),padding(
padding: const EdgeInsets.only(left: 12.0,top: 8.0),child: Text(
DateFormat('EEEE,dd MMMM,yyyy').format(SELEctedDatE),style: theme.of(context).texttheme.@R_404_6882@line6,ListVIEw.builder(
shrinkWrap: true,physics: NeverScrollableScrollPhysics(),itemCount: _SELEctedEvents.length,itemBuilder: (BuildContext context,int indeX) {
AppEvent event = _SELEctedEvents[index];
return ListTile(
title: Text(event.titlE),subtitle: Text(DateFormat("EEEE,yyyy")
.format(event.datE)),onTap: () {
Navigator.push(
context,new MaterialPageRoute(
builder: (context) => EventDetails(
event: event,)),);
},Trailing: Iconbutton(
icon: Icon(Icons.edit),onpressed: () {
Navigator.push(
context,new MaterialPageRoute(
builder: (context) => AddEventPage(
event: event,)));
},));
},],);
}
return CircularProgressInDicator();
},floaTingActionbutton: floaTingActionbutton(
child: Icon(
Icons.add,color: colors.greY[900],BACkgroundcolor: colors.yellow,onpressed: () {
Navigator.push(
context,new MaterialPageRoute(
builder: (context) => AddEventPage(
SELEctedDate: _calendarController.SELEctedDay,);
}),);
}
}
我不明白工作日写为空的地方。 你能帮忙吗?非常感谢!
我解决了。事实上,其他人也有类似的问题,这是我的解决方案。
DateFormat
中的 ListTile
中的 ListView.builder
是问题所在。不知道为什么,但我删除了它,因为无论如何都不需要应用程序中的视图。
错误命令:
subtitle: Text(DateFormat("EEEE,dd MMMM,yyyy").format(event.datE)),
以上是大佬教程为你收集整理的NoSuchMethodError。 getter 'weekday' 被调用为 null。 Table_Calendar Flutter全部内容,希望文章能够帮你解决NoSuchMethodError。 getter 'weekday' 被调用为 null。 Table_Calendar Flutter所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。