post list

2015년 8월 13일

[Android] SaveInstanceState

안드로이드는 화면 회전이 일어나면 onCreate가 다시 호출된다. 게다가 변수들의 값까지 초기화 되어 버린다. 이럴 때 사용하는 것이 onSaveInstanceState 함수이다.

아래와 같이 쓸 수 있다.

private int num = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

if(savedInstanceState != null){
//화면 회전 등으로 인한 일시적인 파괴 후 재생성
num = savedInstanceState.getInt("num", 0);
}

findViewById(R.id.button1).setOnClickListener(this);
findViewById(R.id.button2).setOnClickListener(this);
}

@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("num", num);
}

댓글 없음:

댓글 쓰기