Notice
Recent Posts
Recent Comments
Link
관리 메뉴

설.현.아빠

화면 회전시 onSaveInstanceState, onRestoreInstanceState 사용하기. 본문

안드로이드/Screen & Resolution

화면 회전시 onSaveInstanceState, onRestoreInstanceState 사용하기.

설.현.아빠 2011. 2. 11. 09:54



 

Gallery를 사용해서 ImageView에 Image를 출력할 경우 화면회전시에 기존에 선택되었던 Image가 없어지는 현상이 발생하였다.

 

이럴때 사용할 수 있는 방법이 onSaveInstanceState, onRestoreInstanceState 이다.

 





 


화면이 회전되면 실행중이던 Activity가 종료되고 onSaveInstanceState() 메소드가 호출되며 실행 상태를 Bundle에 넣어

보관해 둔다. 그리고 다시 Activity가 실행될 때 onRestoreInstanceState() 메소드가 호출되면서 Bundle에 넣어둔 데이터를 꺼내

내부 데이터를 다시 채우고 화면도 업데이트 한다.

 

기존 ImageView의 값을 Bundle에 저장하기 위해 imageView.getID(); 값을 사용해 보려 했으나...

이건 해당 ImageView자체 ID값인것 같다. 항상 같은 값이 저장되어서 실패!!!

 

그래서 아래와 같이 Gallery의 getSelectedItemPosition() 메소드를 통해서 gallery의 현재 position값을 저장했다가 불러오는

방식으로 문제를 해결했다!!!

 








아놔...쉽게 생각했던일로 두시간이나 삽질했네..




 

 


 

Comments