해결된 질문
작성
·
220
0
안녕하세요
페이지뷰 관련해서 학습하고 있는데 궁금한게 생겨서 문의드립니다.
강의에서 보면 페이지뷰에 이미지를 5개 넣고
nextPage에서 4보다 작을 때 0으로 초기화 해주고 있는데,
이때 이미지 총 개수를 상수가 아닌 컨트롤러나 다른 곳에서 가져올 수 있는지 알 수 있을까요?
timer = Timer.periodic(Duration(seconds: 2), (timer) {
int curPage = controller.page!.toInt();
int nextPage = curPage + 1;
if(nextPage > 4){ // 상수말고 총 이미지 개수 또는 페이지 수를 가져올 수 있는지
nextPage = 0;
}
controller.animateToPage(nextPage, duration: Duration(milliseconds: 400), curve: Curves.linear,);
답변 1
1
안녕하세요!
불가능할 것 같습니다.
하지만 사실상 필요없는 기능입니다. 왜냐하면 PageView를 사용할땐 갯수를 이미 알고있는 상태에서 위젯 설계가 들어가기 때문이죠.
예를들면 PageView의 children에 들어갈 위젯들을 매핑할 수 있는 데이터를 클래스의 프로퍼티로 입력한 후 길이를 가져오면서 동시에 PageView의 children에 화면을 매핑해주면 됩니다.
데이터 매핑의 경우 랜덤숫자 생성기에서 다루고 있으니 참고해주세요!
감사합니다!
넵 감사합니다!