티스토리 뷰

반응형

마지막 페이지를 파일에 데이터로 저장한다.

프로그램 실행시, Build가 끝나면, 마지막 페이지 정보를 확인하고, 해당 페이지를 연다.

페이지 여는 방법은 Navigator.push를 사용한다.

class Page1 extends StatefulWidget {
...


BuildContext ?context_now=null;
void Navigator_push_Page(Widget page){//page=Page1()
  if(context_now!=null) {
  Navigator.push(
  context_now!, MaterialPageRoute(builder: (context_now) => page));
  }
}

void open_Page1()
{
  LastPage="Page1";
  Navigator_push_Page(Page1());
}

메인화면 생성이 끝나고 바로 페이지를 열면, 뒤로가기가 안되는 문제가 있어,

타이머에서 처리한다.

Future<void> AfterBuild() async {
  // this code will get executed after the build method
  // because of the way async functions are scheduled
  if(Open_LastPage_sec>0)
    {
      Open_LastPage_sec=1;
    }
}
@override
Widget build(BuildContext context) {
  context_now=context;
  AfterBuild();
  ...

방법은 여러가지가 있다.

알아서 쓰세요.

 

 

화면생성하고 뭔가를 하기위해, 위처럼 복잡한 여러가지 과정을 거쳐야 한다.

이유는 Flutter Dart가 비동기이기때문이다.

그런데, 비동기를 사용하여 이것도 어느정도 해결된다.

 

Dart는 마지막페이지 하나 띄우는데, 이렇게까지 해야하나 싶은...

참 남감한 언어이다. 꼼수에 꼼수...(내가 잘 몰라서 그런거겠지?)

(누가 만들었는지....)

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함