• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Flutter 게시판 Drawer 와 Route를 이용한 매뉴 이동시 열린 위젯 중복 문제

Drawer 와 Route를 이용한 매뉴 이동시 열린 위젯 중복 문제

6 글 보임 - 1 에서 6 까지 (총 6 중에서)
  • 글쓴이
  • #78761

    전현우
    참가자
    BottomNavigationBar를 사용하지 않고 Drawer를 이용해 페이지 이동을 하려고 합니다.
    이동 방식은 Navigator.push + MaterialPageRoute를 이용한 Route 방식인데 새로운 페이지가 열리고 
    다시 Drawer에서 같은 페이지를 열면 페이지가 중복되어 있습니다.
    
    예를 들어
    HomePage 에서 Drawer를 이용해 Page1 로 이동 →
    Page1에서 Drawer를 이용해 Page1로 이동 했을 때 Page1이 중복으로 두개 열려있는것을 확인했습니다.
    HomePage로 돌아가려고 할때 뒤로가기를 하면 Page1이 삭제되고 Page1 또 떠 한번더 뒤로가기를 눌러
    삭제해야 HomePage로 돌아옵니다.
    
    서칭해보니까
    Navigator에 push대신 pushAndRemoveUntil 를 사용하라고 해서 써봤는데
    여전히 중복으로 열립니다.
    
    혹시 페이지 이동 후 중복으로 같은 페이지를 여는 것을 막는 방법이 있을까요?
    없다면 각 페이지마다 Drawer를 따로 만들어 해당 페이지가 열려있으면 해당 페이지로 이동하는 네비게이션을 비활성화 해야할까요?
    #78765

    전현우
    참가자
    해당 문제는 해결했습니다
    
    Navigator.pushAndRemoveUntil 끝에 (route) => false를 입력해주니까 기존에 있던 페이지를 전부 삭제 되는걸 확인했습니다.
    뒤로가기를 누르면 앱을 exit을 하게 되어 두번 누르면 나가게 하는 기능만 추가하면 될 것 같습니다.
    #78811

    codingapple
    키 마스터
    현재 페이지와 같은페이지를 가지고 있는 이동버튼을 클릭 불가능하게 만들어도 될수도요 
    WillPopScope위젯쓰면 뒤로가기버튼으로 앱종료 방지할 수 있습니다 
    
    #78981

    전현우
    참가자
    선생님 답변 감사합니다!
    버튼을 클릭 불가능으로 만들 때 null을 써야 하나 고민인데
    함부로 null값을 사용하는 것이 문제가 되진 않을까 걱정됩니다.
    혹시 null이 아닌 다른 방식으로 구현할 수 있을까요?
    
    수업 때 말씀해주신 공공데이터랑 오픈API로 앱 개발 열심히 하고 있습니다.
    항상 감사합니다
     
    #79056

    codingapple
    키 마스터
    버튼 onpressed : 를 null아니면 빈(){} 로 채우면 됩니다
    #79160

    전현우
    참가자
    감사합니다!
6 글 보임 - 1 에서 6 까지 (총 6 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠