2014-03-31 2 views
0

앱 설명 : 위젯이 60,000ms마다 업데이트되도록 설정된 정보를 표시합니다. 하나의보기 위젯이 사용하는 환경 설정을 설정할 수있는 활동입니다. 모든 환경 설정이 저장되고 업데이트됩니다. 사용자가 닫기 버튼을 누르면 정보가 업데이트되고 위젯은 업데이트 할 호출을받습니다. SavedPreferences는 onUpdate의 Widget void 내부에서 호출됩니다.SavedPreferences의 Android 위젯 업데이트가 실패합니다.

이 모든 것이 정상적으로 작동합니다. 이미 많은 답변을 주신 것에 대해 감사드립니다.

여기에 문제가 있습니다 ... 자동 업데이트가 나중에 실행되면 SavedPreferences의 vars가로드되지 않습니다. 때로는 그렇게합니다. 때때로 그렇지 않습니다. 태블릿에서 실행 중이므로보고 할 오류 로그가 없습니다. 내가 보는 것은 위젯이 충돌하지 않지만 SavedPreferences로 채워진 TextView가없는 원시 XML을 표시한다는 것입니다. 정말 이상한 점은 짝수 기본값이로드되지 않는다는 것입니다. 즉,로드되는 키는 아무것도 발견되지 않으면 기본값을 반환한다고 가정합니다. 이것은 일반적으로 위젯이 처음으로로드 될 때 일반적으로 사용되며로드 할 기본 설정이 없습니다. 환경 설정을 읽지 못하면 기본값이로드되지 않는 이유는 무엇입니까? 환경 설정의 읽기가 너무 까다 롭지 않은 이유는 무엇입니까?

+0

SavedPrefences 란 무엇입니까? 어쩌면 SharedPrefences? – nikis

+0

예. 죄송합니다. 나는 내 앞에 코드가 없다. 나는 일하고있어. – durbnpoisn

답변

0

옙. 나는 내 자신의 질문에 대답하고있다. 나는 이것이 환경 설정이있는 위젯을 디자인하는 모든 사람들에게 도움이 될 것이라고 생각한다.

문제는 내가 생각한 것이 아닙니다. 화면이 회전되면 업데이트 부족이 발생합니다. 분명히 위젯을 새로 고침하지만 onUpdate void를 호출하지 않습니다. 그래서 당신은 원시 XML 페인팅을 업데이트없이 얻습니다. 그리고 다음 자동 업데이트가 시작될 때까지는 그대로 유지됩니다.

그래서이 문제에 대한 해결책은 화면 방향의 변경을 감지하는 방법을 식별하고 내 "설정"보기가 닫힐 때와 동일한 onUpdate를 트리거하는 것입니다.

관련 문제