#android #ios #flutter #dictionary #dart
Вопрос:
Я пытался реализовать выбор дня недели.
Мне нужно, чтобы было до 7 рядов. Каждая строка содержит семь дней.Например, если пользователь выбирает понедельник в 1-й строке, поэтому его не следует выбирать в остальных строках. пользователь не может сделать выбор до тех пор, пока предыдущий выбор не будет снят в определенный день.
Моя текущая проблема в моем коде заключается в том, что я могу сделать множественный выбор определенного дня в разных строках. Я хочу прекратить делать выбор в определенный день, если он уже выбран подряд.
итак, мой логин и код
Map<int,Map<String,bool>> selectedDayOnCard={};
initlizeSelectedDay(){
selectedDayOnCard[0]={"mon": false, "tue": false, "wed": false, "thu": false, "fri": false, "sat": false, "sun": false};
selectedDayOnCard[1]={"mon": false, "tue": false, "wed": false, "thu": false, "fri": false, "sat": false, "sun": false};
selectedDayOnCard[2]={"mon": false, "tue": false, "wed": false, "thu": false, "fri": false, "sat": false, "sun": false};
selectedDayOnCard[3]={"mon": false, "tue": false, "wed": false, "thu": false, "fri": false, "sat": false, "sun": false};
selectedDayOnCard[4]={"mon": false, "tue": false, "wed": false, "thu": false, "fri": false, "sat": false, "sun": false};
selectedDayOnCard[5]={"mon": false, "tue": false, "wed": false, "thu": false, "fri": false, "sat": false, "sun": false};
selectedDayOnCard[6]={"mon": false, "tue": false, "wed": false, "thu": false, "fri": false, "sat": false, "sun": false};
}
makeSelection(int index, String key){
Map<String,bool> map=selectedDayOnCard[index];
if(map[key]){
map[key]=false;
selectedDayOnCard[index]=map;
}else{
map[key]=true;
selectedDayOnCard[index]=map;
}
setState(() {
selectedDayOnCard;
});
}
Color getSelectionColor(int index,String key){
Map<String,bool> map=selectedDayOnCard[index];
if(map[key]){
return MyColors.selectedDay;
}else{
return Colors.grey[400];
}
}