fragment 화면 회전 대응에 대하여

조회수 2553회

안녕하세요 안드로이드 초급반 개발자!? 입니다. 플래그먼트 회전이 되어도 내용이 변하지 않게 하려고 하고 있습니다.

manifest에 configchange를 해도 되지만 이걸 사용할수 없는 상황이여서요...

그래서 플래그먼트 의 setRetainInstance을 사용하면 될것도 같은데 이아이는 플래그먼트 재생성만 안될뿐이지 oncreate ondestory외의 메소드는 호출되네요. 각메소드에 onsaved...조건문을 넣어야 되어야 할것 같아요

현재 상황을 설명을 하면은 플래그먼트에서 검색하여 리스트를 표시한후 화면을 옆으로 하면 리스트가 초기화대고 검색창과 키보드가 다시 나오네요.

검색해도 비슷한 글뿐이 없고... 먼가 좋은 방법이 없을까요.. setRetainInstance을쓴다면 어떤식으로 해야할까요. 조언 부탁드립니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 안녕하세요.

    단순히 화면 회전을 한다면 다음과 같이 동작하게 됩니다.

    onPause
    onSaveInstanceState
    onStop
    onDestroyView
    onDeatch
    onAttach
    onCreateView
    onActivityCreated
    onStart
    onResume
    

    위와 같이 동작하니 onSaveInstanceState에서 값을 저장하시고, onCreate에서 다시 복구해주시면 되겠습니다.

    단순하게 onDestory 타지 않고 UI를 처리 하기 위해서 manifest의 android: configchange를 설정하게 됩니다.

    다음글을 참고하시면 도움이 되실것 같습니다.

    Handling Orientation changes on android

    • (•́ ✖ •̀)
      알 수 없는 사용자
    • 플래그먼트의경우 setRetainInstance하나로 해결되네요 ㅎ 그래도 답변 감사합니다^^ 알 수 없는 사용자 2016.5.24 11:53

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)