【发布时间】:2021-11-20 15:16:45
【问题描述】:
我有一个我想要的项目列表,如果我点击其中任何一个,他的 bool 最喜欢的等于 true 使用共享首选项.. 更详细地说,我有一个带有 bool favorite 属性的对象列表。我想将此布尔值存储到共享首选项..
模型类:
class ZekrModel {
final String zekrTitle;
final String zekrImage;
final String zekrCat;
final Widget screenWidget;
bool isFav;
bool toggleDone() {
isFav = !isFav;
}
}
提供者类:
class ZekrProvider with ChangeNotifier{
List<ZekrModel> _zekrList = [
ZekrModel(
zekrTitle: 'أذكار المساء',
zekrImage: 'assets/images/sunset.png',
zekrCat: 'Azkar',
screenWidget: AlmasaaScreen(),
),
ZekrModel(
zekrTitle: 'أذكار الصباح',
zekrImage: 'assets/images/sunrise.png',
zekrCat: 'Azkar',
screenWidget: AlsabahScreen(),
)
];
void updateFav(ZekrModel zekrModel) {
zekrModel.toggleDone();
notifyListeners();
}
List<ZekrModel> get favZekr {
return _zekrList.where((element) => element.isFav).toList();
}
}
在用户界面中的使用:
onTap: (){
value.updateFav(zekrIndex);
},
【问题讨论】:
标签: list flutter boolean sharedpreferences favorites