마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Fragment 이동시에 기존데이터 유지 방법

0 추천

아래와 같은 구성으로 앱을 만들고 있습니다.

FragA에서 FragB를 호출합니다.

FragB에 있는 GoFragA라는 버튼을 클릭하면, FragA로 다시 돌아가는 앱을 만들고 있습니다.

 

**  여기서문제는 FragA에 있는 TextView FragB에 갔다오면 항상  초기값이 됩니다.

**  내가 입력한 값이 그대로 남아있길 원하는데, 데이터를 그대로 남아 있게 하려면 어떻게 해야 하나요?

**  add, attach, replace, 이전버튼 눌르기, popBackStack  이것저것 다 해봤는데, 잘 안되네요....

 

기본적으로 아래와 같은 방식으로 프레그먼트를 호출 했습니다.

getFragmentManager().beginTransaction().addToBackStack(null);
getFragmentManager().beginTransaction().replace(R.id.container, FragA);
getFragmentManager().beginTransaction().commit();

 

죄송한데, 제가 너무 초보라서, 자세히 자세히 알켜주시면 정말 감사하겠습니다.

3일째 이것저것 찾아보고 시도해보는데, 진전이 없네요.. ㅠㅠ

 

익명사용자 님이 2016년 11월 30일 질문

2개의 답변

0 추천
안녕하세요

 

뷰에 있는 값만 저장하실꺼면 SharedPreferences , Bundle, 변수 등등 사용하면 되지 않을까요?

다른 방법은 아래 사이트를 참고하셔서 공부하시면 될 것 같습니다.

http://i5on9i.blogspot.kr/2013/10/blog-post_14.html

도움되시길!
히로시 (10,800 포인트) 님이 2016년 11월 30일 답변
답변감사합니다.
그런데, 뷰에 있는 값과 위치정보까지 저장해야합니다. (위치도 동적으로 바뀌거든요.)
그리고 뷰도 30개 정도 되다보니까, 뷰하나씩 값과 위치를 저장하고 다시 로드하는 방식을 하는게, 뭔가 이상한거 같아서
다른 방법이 있는거로 생각이되서 질문을 올렸어요~
근데, 제가 초보라 그런지, 링크걸어주신 사이트에서 보는데도, 잘 이해가 안가네요 ㅠㅠ
0 추천
두 fragment 가 하나의 activity 에 붙는건가요?
 replace 하시면 기존 fragment A 가 detach 되니깐
add 로 fragment B attach 하고 버튼 클릭에 따라 두 fragment visibility 를 조정하세요
fragment manager 로 show/hide 할 수 있습니다
블랙꽃 (1,250 포인트) 님이 2016년 12월 6일 답변
블랙꽃님이 2016년 12월 6일 수정
...