본인은 응용 프로그램의 언어와 테마를 변경할 수있는 환경 설정 활동이 있습니다. 거기에서 뒤로 키를 통해 이전 활동으로 돌아가고 활동을 다시 만들고 싶습니다.onSaveInstanceState에서보기의 "활성화"를 저장해야합니까?
레이아웃을 onResume
에 다시 초기화하고 거기에서 onRestoreInstanceState
을 호출하여 처리 할 수있었습니다. 모든 뷰가 제대로 복원되고, 필요한 경우 체크 박스가 선택되며, 편집 텍스트는 이전에 거기에 남아있는 텍스트로 채워집니다.
하지만 처음에는 비활성화 된 버튼이 있으며 라디오 버튼을 선택한 경우에만 활성화됩니다. 문제는 다음과 같습니다. 라디오 버튼을 선택하면 버튼이 활성화됩니다. 그런 다음 설정으로 이동하여 테마를 변경하고 첫 번째 활동으로 돌아갑니다. 도착하면 라디오 버튼이 선택 상태로 복원되지만 버튼은 사용할 수 없습니다.
그래서 활성화/비활성화 상태가 번들에 저장되지 않고 반 직관적으로 보입니다. 그리고 나는 이것을하는 안드로이드 소스에 어떤 코드도 발견하지 못했습니다. 뭔가 빠졌는가, 아니면 내 코드를 써야 하나?
편집 : BTW 상태는 ID가있는보기에만 저장됩니다. 그 버튼에는 하나만 있습니다. :)
물론 이죠. 비슷한 행동으로 많은 활동을하고 있습니다. 나는 모든 해결책을 갖고 싶습니다. 아이디어가 떠오르면 보도록하겠습니다. –