Здесь _meetinglist - это список NewWidget. Я создал listview.builder, используя _meetinglist [index]. Как я могу обновить sh listview.builder, когда NewWidget добавлен в список ...
Здесь listviewbuilder refre sh когда я отобразить весь экран, например, вернуться и снова вернуться к экрану ... но я хочу обновить sh конструктор списка, когда я добавляю новый виджет NewWidget в этот список
class MeetingWidget extends StatefulWidget {
final List meetingdetails;
Function addMeeting;
MeetingWidget({this.meetingdetails, this.addMeeting, Key key})
: super(key: key);
@override
State<StatefulWidget> createState() {
// TODO: implement createState
return MeetingWidgetState();
}
}
class MeetingWidgetState extends State<MeetingWidget> {
List<NewWidget> _meetinglist = [];
Map _userjson = Map();
var booly = false;
@override
Widget build(BuildContext context) {
globals.customerUsers.forEach((custuser) {
if (custuser['Name'] == null || custuser['Name'] == '') {
_userjson[custuser['id'].toString()] = custuser['userName'];
} else {
_userjson[custuser['id'].toString()] = custuser['Name'];
}
});
widget.meetingdetails.asMap().forEach((index, tasks) {
if (tasks['task'] == 'Meeting') {
_meetinglist.add(NewWidget(
key: UniqueKey(),
booly: booly,
index: index,
addMeeting: widget.addMeeting,
completed: tasks['task_status'],
tasks1: tasks['task_title'],
meetinglist: widget.meetingdetails,
tasks3: tasks['task_date']['datetext'],
dateValue: tasks['task_date']['date'],
taskAssign: tasks['task_assign_to_id'].toString(),
tasks4: tasks['task_date']['time12'],
));
}
});
return _meetinglist.isEmpty
? Container(
child: Center(
child: Text(
"No meetings Added",
style: TextStyle(
fontFamily: 'Poppins',
fontWeight: FontWeight.w600,
fontSize: 12,
color: platformblue),
)))
: RefreshIndicator(
onRefresh = _refresh,
ListView.builder(
itemCount: _meetinglist.length,
itemBuilder: (BuildContext context, int index) =>
_meetinglist[index],
padding: EdgeInsets.only(bottom: 60),
physics: BouncingScrollPhysics(),
));
}
}