android - 问:无法根据类别返回事件列表?
问题描述
无法根据类别返回事件列表,eventsData 无法获取包含 categoryId 的类别类型。当没有为“事件”类型定义吸气剂“类别”时会发生错误,知道这意味着什么吗?
代码:
//ListView
final routeArgs =
ModalRoute.of(context).settings.arguments as Map<String, String>;
final categoryId = routeArgs['id'];
List<Events> displayedEvent;
final eventsData = Provider.of<Events>(context);
displayedEvent = Events.where((event) {
return eventsData.categories.contains(categoryId);
}).toList();
return ListView.builder(
itemBuilder: (ctx, index) {
return EventItem(
id: displayedEvent[index].id,
title: displayedEvent[index].title,
);
},
itemCount: displayedEvent.length,
);
数据文件:
class Events with ChangeNotifier {
List<Event> _items = [
Event(
id: '101',
categories: [
'c1',
'c3',
],
title: 'Food Festival',
),
Event(
id: '102',
categories: [
'c1',
'c4',
],
title: 'Fireworks Festival',
),
];
List<Event> get items {
return [..._items];
}
Event findById(String id) {
return _items.firstWhere((event) => event.id == id);
}
}
解决方案
推荐阅读
- c# - 像本地 json 文件一样从服务器读取 Json
- mysql - How to select win/loss record in mysql
- react-native - Get previously scene with react-native-router-flux
- javascript - moment(?).year(?).week(?).weekday(?).format('MM/DD/YYYY') 在 12 月不起作用
- android-studio - Kotlin 编译器构建错误 使用 -jvm-target 1.8 重新编译
- python - 在Python中解码某个bin文件
- swift - 如何修复 NSBezierPath 的便利 init w/closure Extension 以使用在 Swift 5.0 中失败的 CGPath?
- python - python read from text file line by line
- google-app-engine - 原生模式下的 Google Cloud Firestore 和 Recaptcha v3
- python - GoogleColab 中没有名为“config”的模块和没有名为“model”的模块