xml 파일의 PreferenceScreen을로드하여 새 이벤트를 구성하는 화면으로 사용하여이 활동에서 사용중인 SharedPreference의 값을 지우고 재설정하려고합니다. 내가 겪고있는 문제는 명명 된 환경 설정 관리자를 사용하려고 할 때 환경 설정이 지워진 것처럼 보이지만 EditTextPreference 요소를 선택하면 이전 데이터는 여전히 기본 입력 텍스트입니다.PreferenceScreen 사용시 기본 설정 다시 설정
내 onCreate 메서드에서 환경 설정을 초기화하고 초기화 한 다음 기본값으로 설정하려고합니다. dev에 자원에서 나의 이해는
private static final String PREFNAME = "newmeetingactivity.preferences";
//load preferences and set name
addPreferencesFromResource(R.layout.newmeeting_preferences);
getPreferenceManager().setSharedPreferencesName(PREFNAME);
getPreferenceManager().setSharedPreferencesMode(MODE_PRIVATE);
//Clear the preferences
_sharedPreferences = getPreferenceManager().getSharedPreferences();
SharedPreferences.Editor ed = _sharedPreferences.edit();
ed.clear();
ed.commit();
//Load default preferences from file again
PreferenceManager.setDefaultValues(this, _sharedPreferences.toString() , MODE_PRIVATE, R.layout.newmeeting_preferences, true);
편집 .. 한 번에/리셋을 취소 할 수있는 방법이 없다고했다 : 더 나은 내가 할 시도하고있는 무슨 설명하려고하기 위해 (경우에 나의 접근 방식은 방식 꺼짐) : 주어진 활동에 사용 된 공유 환경 설정을 지우고 다른 활동의 설정을 방해하지 않아야합니다 (무기한으로 유지해야 함).
다른 공유 기본 설정 (사용자 설정과 같이 영구적 인 설정 임)도 삭제됩니다. – Tyler
게토 솔루션이 될 수도 있지만, 사용자는 자신 만의 종류를 명확하게 구현하여 모든 값을 기본값으로 재설정 할 수 있습니다. 이것은 정말 빠르며 더러운 해결책이지만, 나중에 코드를 작성하는 방법을 알면 올바른 코드로 대체 할 수 있습니다. – csaunders