2013-01-02 3 views
0

방향 변경시 Android에서 많은 정보가 손실됩니다. 불행히도 다시 빌드해야합니다. 계산할 사용자가 입력 한 데이터의 레이아웃에 저장된 정보를 사용하는 계산기 유형 앱이 있으며 Android의 방향 변경시 Android에서 레이아웃 데이터를 복원합니다. 문제는 onResume에서 방위 변경시 표시가 손실 될 수 있으므로 표시를 다시 설정하기 위해 데이터를 다시 계산하는 메서드를 호출한다는 것입니다. 그러나 Android가 데이터를 복원하기 전에 onResume이 호출 된 것처럼 보입니다. 어떻게해야합니까?onResume 이후에 호출되는 메서드?

+0

왜 'onCreate()'가 다시 호출 될 때 데이터를 번들에 저장하고 다시 읽지 않습니까? –

+0

나는 그것을 할 수 있다고 생각하지만, 간단한 메소드 호출을 통해 업데이트하는 것이 더 쉽다. – Emrys90

+0

뷰를 그린 후에 콜백 만 원합니까? – Sam

답변

0

문제는 안드로이드가 데이터를 복원하지 않는다는 것입니다. 회전 후에 활동이 다시 생성됩니다.

당신은 onSaveInstanceState에서 데이터를 저장()와 문서에 따르면 onRestoreInstanceState

에서 복원해야 onResume 바로 onRestoreInstanceState 후 호출됩니다.

+0

현재 입력 된 EditText 값과 같은 뷰와 관련된 데이터를 저장하고 작업이 재생성 된 후에 복원합니다. – Emrys90

+0

그들은 그렇지 않습니다. 그것이 당신이 onRestore/onSave instancestate 방법을 사용하는 이유 중 하나입니다. – fedepaol

+0

나는 그들이 당신에게 확신한다. 데이터를 저장/복원 할 수있는 방법이 없으며 Spinners 또는 EditTexts 등의 사용자 입력 데이터가 방향 변경에 여전히 영향을 미칩니다. – Emrys90

관련 문제