2014-11-01 8 views
0

사용자에게 명확하고 일관된 레이아웃을 제공하기 위해 PreferenceFragment를 사용하고 있습니다. 그러나이 특정 화면에서는 방문 할 때마다 언제나 정보를 지워야합니다. 예를를 들어Android 기본 설정 유지 "기억 중"상태

: 사용자는 EditTextPreference에 일부 텍스트를 입력 내 PreferenceFragment의 XML 뷰에 (의는 "여러 줄 문자"를 가정 해 봅시다). 사용자가 화면을 종료하고 동일한 PreferenceFragment로 돌아 오면 이 아닌이 필요합니다. 클릭하면 EditTextPreference에 "mText"가 표시됩니다. 현재 입니다. 또는 사용자가 CheckBoxPreference를 검사한다고 가정 해보십시오. 그들이 돌아 왔을 때 다시 체크하지 않아야합니다 (기본값/상태).

코드에서 내가 원하는 값 (예 : 공백/재설정)을 수동으로 설정할 수 있음을 이해합니다. 그러나이 작업은 지루하고 올바른 작업 방식과는 거리가 있습니다. 당신은 당신의 조각의 onPause() 메소드에서

답변

1

을 수행 할 수 있습니다

@Override 
public void onPause() { 
    super.onPause(); 
    mEditTextPreference.getEditor().clear().apply(); 
} 
+0

당신은 확실한가요? 문서에 따르면 환경 설정에서 모든 * 값이 지워질 것이라고합니다. http://developer.android.com/reference/android/content/SharedPreferences.Editor.html#clear%28%29 – EyesClear

+0

아, 완전히 잘못된 'getEditor(). clear'입니다. 네가 맞다고 생각해. :) – user1234

+0

SharedPreferences를 사용할 수도 있습니다. prefs = PreferenceManager.getDefaultSharedPreferences (this); 그리고 나서 prefs.edit(). clear(). apply(); – EyesClear