2013-05-15 4 views
1

액티비티의 onCreate에서 savedInstanceState 번들을 전달하면 어떻게 그 데이터를 지울 수 있습니까? 나는 당신이 스스로 얻고있는 번들이 아니라,이 번들이 안드로이드에서 생성 /로드 된 데이터를 언급하고 있습니다.저장된 인스턴스 데이터를 어떻게 지우시겠습니까?

이것은 때로는 명확 할 수 있으며 나머지 앱 데이터 (예 : 환경 설정, DB 등을 지우지 않아야 함)를 지우고 싶지는 않습니다.

나는 상태를 조건부로 무시하는 플래그와 로직을 가지고있는 것으로 생각하고 있지만 저장된 상태를 지우는 것보다 서투른 것처럼 들립니다.

답변

3

super.onCreate(null)에 null을 그냥 전달합니다. savedInstanceState는 활동 인스턴스의 저장된 상태이며 (아마도) 환경 설정 또는 영구 데이터를 포함하지 않습니다.

사용자가 EditText를 입력하고 다른 응용 프로그램으로 전환 한 다음 나중에 다시 나오면 이미 입력 한 텍스트가 손실되는 등의 이유로 sIS를 무시하려는 이유가 확실하지 않습니다.

+0

상태를 무시하고이를 지우지 않을 것입니다. 상태 중에 WebView 상태가 있으며 사용자가 요청하면이 상태를 지우려고합니다. 그래서 무작위로 스위치를 놓을 수는 없지만 사용자가 요청한 후 다른 모든 시간에 나는 상태를 보존하기를 원합니다 (앱 설정 및 데이터의 나머지 부분과 함께 " 데이터 지우기 "옵션 없음). –

+0

WebView의 지속적인 상태를 sIS로 혼란스럽게 생각합니다. 작업을 마치고 다시 시작하면 sIS는 null이되지만 WebView는 양식 데이터, 암호, 쿠키 등을 여전히 기억할 수 있습니다. '데이터 지우기'). 그러나 WebView 및 관련 클래스에 대한 메서드가 있습니다.이 클래스는 환경 설정 및 기타 데이터를 삭제하지 않고이 데이터를 지울 수 있습니다. – FunkTheMonk

+0

음, 그래, 그 사실을 몰랐습니다. WebView가 인스턴스화/액세스 할 수없는 경우에도 동일한 App의 다른 Activity 에서처럼 WebView 데이터를 지우는 방법이 있습니까? –

관련 문제