2013-03-25 3 views
8

나는 스위치 환경 설정을 가지고이 "ON"기본값으로 설정하려면 ... XML에서 , 왜 작동하지Android switchpreference 어떻게 스위치 환경 설정 기본값을 설정할 수 있습니까?

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    // Load the preferences from an XML resource 
    addPreferencesFromResource(R.xml.settings); 


} 

<SwitchPreference 
     android:defaultValue="true" 
     android:key="PromoNotificationOnOff" 
     android:title="@string/Snotification_enable" /> 

및 클래스

? 없어진 물건 있어요? 감사!! 태그 절대적으로 올바른 : 당신의 MainActivity onCreate 방법에서

답변

9

이 라인

PreferenceManager.setDefaultValues(this, R.xml.settings, false); 

당신은 http://developer.android.com/reference/android/preference/PreferenceManager.html#setDefaultValues(android.content.Context, INT, 부울에 대해 읽을 수 있습니다)

+3

는 XML "DEFAULTVALUE 안드로이드"를 추가합니다. 코드에서 값 (오버라이드)을 업데이트하는 것은 중복되어 나중에 두 가지를 모두 남겨두면 혼동을 일으킬 수 있습니다. 그러나이 코드를 디버깅 할 때 기본 설정 항목의 "기본값"은 Android 설정에서 응용 프로그램 데이터가 지워질 때까지 자주 걸리지 않습니다. – gtcompscientist

+0

@gtcompscientist 댓글을 올리고 투표를하기 전에 참조 링크를 읽어야합니다. 너무 많은 문제가 있다면 setDefaultValues ​​()에 대한 문서를 읽어 매개 변수의 의미를 알아야합니다. 어디 솔루션 xml에 설정된 값을 업데이 트를 제공? 내가 제공 한 솔루션은 setDefaultValues ​​() 메소드가 무엇인지 알면 절대적으로 정확하고 명확합니다. –

관련 문제