onSaveInstanceState()
및 onRestoreInstanceState()
메서드는 활동 상태가 약 onPause()
이되기 전에 동적 데이터를 저장하기위한 것입니다. 간단한 Activity
버튼을 클릭하면 텍스트가 변경됩니다. 나는 그들의 몸에 아무것도 이러한 방법을 모두 무시 않았다onRestoreInstanceState()가 재정의 된 상태가 변경됨
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
}
난 다시 응용 프로그램에 hidding 및 홈 화면으로 이동을 통해 활동을 복원하고 해요. 그리고 액티비티가 복원되면 버튼의 텍스트가 기본값이 아니므로, 액티비티를 onPause()
으로 전달하기 전과 같습니다. 내 onRestoreInstanceState()
메서드가 비어 있으면 어떻게 작동합니까?
더 이상한 무엇이 -이 두 가지 방법이 호출되고 onRestoreInstanceState()
도 호출되지 않았 음을 알기 위해 디버깅을 시도했습니다.
데이터 복구를 위해받은 번들을 사용해야하는 경우 onCreate()가 호출되기 때문에 장치 상황에 따라 다른 상황이 발생합니다. 내가 원하는 것은 두 가지 방법이 작동하는 방식을 찾는 것입니다. 그리고 예, 사용자는 버튼으로 입력 할 수 없으며 저장/복원 방법을 확인하기 위해 기본 텍스트를 변경하고 있습니다. – Eugene
@AndroidNoob : onRestoreInstanceState()를 호출하면 onCreate()가 항상 호출됩니다. 따라서 화면 방향을 변경하십시오. "저장/복원 방법을 확인하기 위해 기본 텍스트를 변경하려고합니다"- 그러면 자신의 "상태"를 onSaveInstanceState()에 저장하고 onRestoreInstanceState()에 복원해야합니다. – CommonsWare
해명 해 주셔서 감사합니다. – Eugene