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

fragment에서 값 저장 및 전달 관련 질문

0 추천

 

안녕하세요~

엑비티티 하나에 프래그먼트 2개를 사용해서 만드는 중이거든요.

화면 하나 당 프래그먼트 한개만 보이게 할거라 교체되는 방식이구요..

 

프래그먼트 1 : 결과창

프래그먼트 2: 값 세팅 창 (결과창에 값을 보여주기 위한)

 

처음에는 프래그먼트 2에서 값을 세팅하고서 bundle을 사용하여 프래그먼트 1에 그 값을 전달하도록 구현했었는데

프래그먼트 2로 돌아오니 그 값들이 초기화가 되더라구요.

프래그먼트 값이 계속 유지가 되게 하려면 onSaveInstanceState 메소드를 활용하면 되나요?

 

아니면 차라리 Preference를 사용해서 설정 값 저장해놓고

여기저기서 꺼내쓰는게 편하지 않나 싶었는데,

전달하고자 하는 값들이 어플 내 세팅개념이라서요..

어플을 껐다가 다시 켜도 계속 값이 유지되어 있어야 하고요,

 

전혀 안되는 내용인건지... 답변 부탁드립니다..

 

 

 

지송준 (120 포인트) 님이 2015년 10월 13일 질문
지송준님이 2015년 10월 13일 수정
저같은 경우엔 sharedpreference썼어요.
프래그먼트끼리 값을 주고받으면서 통신하는 예제 참고해보세요. 서로 값 변경 가능합니다.

2개의 답변

0 추천
Preference를 사용해도 되고, Activity에서 변수를 사용하셔도 됩니다. 후자로 말씀을 드리면, Activity 클래스가 A, B 프레그먼트를 변수로 유지합니다. B 프레그먼트를 생성하면서 Activity를 전달해서 B 프레그먼트의 데이터가 변경되면 Activity의 메서드를 호출(이 메서드는 A 프레그먼트 메서드 호출)해서 A 프레그먼트의 값을 변경하는 구조로 개발하시면 됩니다.
mcsong (44,040 포인트) 님이 2015년 10월 13일 답변
0 추천
코드상으로 매번 실행시 프래그먼트 생성 삭제가 반복되는것 같은데...

액티비티에서 일괄 생성하고 사용하는 방법도 괜찮을것 같습니다.
익명사용자 님이 2015년 10월 13일 답변
...