닉네임도항상고민
블로그이름이항상고민
닉네임도항상고민
전체 방문자
오늘
어제
  • 분류 전체보기 (125)
    • Profile (0)
    • Android (33)
      • Kotlin in android (8)
      • Java in android (0)
      • Dev env setting (9)
      • Meltdown(pokedex) (3)
      • Error (6)
      • Gradle (3)
      • Etc (4)
    • Google sample app (7)
      • nowinandroid (4)
      • sunflower (3)
    • 프로젝트 뚝딱거리기 (3)
    • Personal project (11)
      • Just One Thing (5)
      • 50Buttons (6)
    • Coding Practice (0)
      • Baekjoon (0)
      • Programmers (0)
    • Git (1)
    • Language (0)
      • Java (0)
      • Kotlin (0)
    • 기타 프로그램관련 (14)
    • 프로그램설치 및 설정 (2)
    • 공부 자료 리뷰 (책 서평, 인강리뷰) (13)
    • 일상과 헛소리 (26)
    • 알쓸신잡 (3)
    • ---이하 out of control--- (0)
    • Spring (3)
    • IOS (1)
    • Mysql (1)

공지사항

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

최근 댓글

인기 글

최근 글

태그

  • 맥북프로 후기
  • effective kotlin
  • 랜콘센트
  • 벽면 랜포트 고장
  • 이펙티브코틀린
  • Android
  • Kotlin In Action
  • KotlinInAction
  • Apache License 2.0
  • 서평
  • 그것은 무엇인가
  • 대충 헛소리임
  • 안스
  • 후기
  • 커밋 수 1년에 200이하 맥북프로 금지
  • mac jdk삭제
  • 진지하게 받지마셈
  • 구글
  • 잠을 잘자고
  • 2021 macbook pro
  • Atomic Kotlin
  • 누가 코틀린 2주면 익힌다고 했는가.. 누구인가..?
  • 맥북프로 16
  • android codelab
  • 맥북 롤 설정
  • m1pro
  • m1 롤 설정
  • 박사 학위 논문이라고 쓰고 싶다 ㅅㅂ
  • 글을 많이 써보자
  • 아토믹코틀린

티스토리

hELLO · Designed By 정상우.
닉네임도항상고민

블로그이름이항상고민

Personal project/50Buttons

5번째 버튼 jetpack navigation 연습

2023. 6. 21. 14:00

버튼이 있는 액티비티를 여러개 만들면서 예제를 만들어보는 프로젝트중이다.

5번째 버튼으로 안드로이드 jetpack navigation 예제로 fragment를 2개 만들어서 이동하는 것을 만들어보았다.

 

fragment A, B 두개를 만들고,

A에 viewModel을 붙여서 liveData값을 하나 만들어줬다.

 

 

(문제발생 : 네비게이션으로 이동시, 뷰모델의 라이브데이터 값 유지가 안되는 문제)

A -> B -> A 로 이동했는데,  ( findnavigaton.navigae()로 )

A의 viewModel에 있는 liveData의 값이 유지되지 않고, 새로 만들어지는 것 같았다.

 

그래서 오픈채팅방에 질문을 해보았는데,

단순히 navigate()를 하게 되면, A가 다시 새로 만들어지게 되는 것이라는 것을 알았다. 

프레그먼트가 다시 만들어지면, 뷰모델도 같이 새로 만들어지는 듯 하다.

 

 

(해결)

viewModel의 값이 유지되려면,  A가 새로 만들어지면 안되고,

navigateUp() 또는,
popupbackstack() 를 이용해서

A로 다시 이동해줘야한다.

 


(앞으로 할 것)

 

네비게이션 코드랩만으로는 네비게이션 기능을 완전히 알기 부족하고,

네이게이션 문서를 다시 한번 싹 다 봐둬야겠다.

그리고 의문이 드는 내용은 연습삼아서 5번째 버튼을 업그레이드 해야겠다.

 

단순히 이동만 만들어봤는데 시간이 꽤나 걸렸다.

연습을 더 해봐야함.

 

 

 

저작자표시 비영리 (새창열림)

'Personal project > 50Buttons' 카테고리의 다른 글

4번째 버튼을 만들면서.. fragment 생명주기..?  (0) 2023.05.30
뷰바인딩에서 tools:viewBindingIgnore의 의미?  (0) 2023.05.23
android .gitignore 파일을 수정해보자.  (0) 2023.05.23
String과 CharSequence의 차이점?이 궁금했다.  (0) 2023.05.23
프로젝트 개요  (0) 2023.05.20
    'Personal project/50Buttons' 카테고리의 다른 글
    • 4번째 버튼을 만들면서.. fragment 생명주기..?
    • 뷰바인딩에서 tools:viewBindingIgnore의 의미?
    • android .gitignore 파일을 수정해보자.
    • String과 CharSequence의 차이점?이 궁금했다.
    닉네임도항상고민
    닉네임도항상고민
    개발 블로그라기 보단, 개발' 일기' 블로그가 되어가고 있다. 단순히 검색해서 나오는 코드보다는 공부하면서 생기는 노하우를 전달하고 싶다. (도움 되는 글을 보셨다면 '하트'를 눌러주셔요♥ , 도움 안되는 잡글이 있다면, 댓글로 적어주시면 비공개 처리 합니다. )

    티스토리툴바