TableCalender 질문입니다..!
758
작성한 질문수 5
사진 올린것같이 state 에다 selectedDay값을 받고 onDaySelected함수에 setState를 실행시켰습니다.
다하고 나서 에뮬레이터를 확인해보니 선택한 날짜에 동그라미가 안생기더라구요.. 그래서 print를 이용하여 this.selectedDay 가 파라미터의 selectedDay가 같은 지 확인을 해봤더니 다른 값으로 false가 나옵니다.
onDaySelected란 함수가 달력의 날짜를 선택하면 selectedDay와 focusedDay의 값이 선택한 날짜가 되는것 아닌가요?? 문제의 원인이 뭔지 이해가 안됩니다 ㅠ
확인해보니 selectedDay의 값이 바뀌지 않고 계속 null 인것으로 나옵니다.ㅜ
답변 1
0
안녕하세요!
현재 코드만으로는 원인파악이 어렵습니다.
전체 코드를 보여주시면 문제파악을 좀 더 쉽게 할 수 있을 것 같습니다.
감사합니다!
0
import 'package:calender/component/calender.dart';
import 'package:calender/component/schedule_card.dart';
import 'package:calender/component/today_banner.dart';
import 'package:flutter/material.dart';
class HomeScreen extends StatefulWidget {
const HomeScreen({Key? key}) : super(key: key);
@override
State<HomeScreen> createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
DateTime selectedDay =
DateTime(DateTime.now().year, DateTime.now().month, DateTime.now().day);
DateTime focusedDay = DateTime.now();
@override
Widget build(BuildContext context) {
return SafeArea(
child: Scaffold(
body: Column(
children: [
Calender(
onDaySelected: onDaySelected,
selectedDay: selectedDay,
focusedDay: focusedDay,
),
SizedBox(
height: 8,
),
TodayBanner(selectedDay: selectedDay, scheduleCount: 3),
ScheduleCard(
color: Colors.black,
content: 'content',
endTime: 10,
startTime: 8)
],
),
),
);
}
void onDaySelected(DateTime selectedDay, DateTime focusedDay) {
setState(() {
this.selectedDay == selectedDay;
this.focusedDay == selectedDay;
});
}
}
0
import 'package:flutter/material.dart';
import 'package:table_calendar/table_calendar.dart';
import '../const/colors.dart';
class Calender extends StatelessWidget {
final OnDaySelected onDaySelected;
final DateTime selectedDay;
final DateTime focusedDay;
const Calender(
{required this.onDaySelected,
required this.selectedDay,
required this.focusedDay,
Key? key})
: super(key: key);
@override
Widget build(BuildContext context) {
final defaultBoxDeco = BoxDecoration(
//테두리 둥글게 깎기
borderRadius: BorderRadius.circular(6),
color: Colors.grey[200]);
final defaultTextStyle =
TextStyle(color: Colors.grey[600], fontWeight: FontWeight.w700);
return TableCalendar(
locale: 'ko_KR',
focusedDay: this.focusedDay,
firstDay: DateTime(1800),
lastDay: DateTime(3000),
headerStyle: HeaderStyle(
formatButtonVisible: false,
titleCentered: true,
titleTextStyle:
TextStyle(fontWeight: FontWeight.w700, fontSize: 16.0)),
calendarStyle: CalendarStyle(
isTodayHighlighted: false,
//날짜의 컨테이너의 데코레이션션
defaultDecoration: BoxDecoration(
//테두리 둥글게 깎기
borderRadius: BorderRadius.circular(6),
color: Colors.grey[200]),
weekendDecoration: defaultBoxDeco,
selectedDecoration: defaultBoxDeco,
outsideDecoration: BoxDecoration(shape: BoxShape.rectangle),
defaultTextStyle: defaultTextStyle,
weekendTextStyle: defaultTextStyle,
selectedTextStyle: defaultTextStyle.copyWith(color: PrimayColor)),
onDaySelected: this.onDaySelected,
selectedDayPredicate: (DateTime date) {
if (this.selectedDay == null) {
return false;
}
return date.year == this.selectedDay!.year &&
date.month == this.selectedDay!.month &&
date.day == this.selectedDay!.day;
},
);
}
}
0
나머지 파일은 다 올렷는데
.dart_tool, .idea 폴더는 'This file is hidden.' 라는 문구가 뜨구
build 폴더는 'Yowza, that’s a lot of files. Try uploading fewer than 100 at a time.'
라는 문구가 뜹니다 .. build 폴더는 압축해서 올리려해도 용량이 커서 안올라가네요 ㅠㅠ..
198강 (){onTap(e);}의 이해 돕기
0
39
1
video_call 플러그인 설치후 에러 발생
0
47
1
SDK 안드로이드 설치 질문!
0
62
1
코드팩토리 디스코드 링크 다시 부탁드려요~
0
94
1
Webview를 이용해서 URL 상의 페이지 출력 불가
0
71
1
홈스크린 함수를 함축해서 main.dart에 옮기는 문제
0
57
1
플레이스토어
0
62
1
아고라 엔진 init 함수의 반환타입이 Future<void> 이것의 의미는 무엇인가요?
0
56
1
가이드라인 질문
0
59
0
emulator 에러 환경설정 뭐가 문제 일까요??
0
78
1
emulator 실행 오류
0
95
3
Column을 가로방향 최대 사이즈를 차지하도록 하는 방법에 관련
0
73
1
pubspec.yaml에서 font를 추가하면서 weight 값을 지정하는 것이 의미가 있는 것인지 문의
0
44
1
setState()를 호출하지 않으면 build가 실행 안되는 건가요?
0
54
1
video_call 플러그인 설치시 에러문제
0
67
1
children 안의 if 문에서 { } 못쓰는 이유?
0
51
1
이렇게 오류가 떠요
0
67
1
AppBar 사용했는데
0
64
2
[문제해결] '오늘도 출첵!' 의 171번 강의에서 중요한 문제를 발견했습니다
0
59
1
StatefulWidget 실습 에러가 발생합니다.[해결완료]
0
65
1
Video Player 프로젝트에 대한 추가 질문
0
54
0
Row위젯이나 column위젯의 위치는 누가 정하나요??
0
43
1
geolocator 오류때문에 개발진행이 불가능입니다
0
64
1
API 관련 이슈
0
89
2





