2013-03-25 29 views
8

私はスイッチの好みを持っており、それがXMLで... 、Androidのswitchpreferenceどのように私はスイッチの設定のデフォルト値を設定できますか?

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

とクラスで "ON" デフォルト設定にしたい、

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

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


} 

は、なぜそれが機能していませんか?何が欠けている?ありがとう!!タグは絶対に正しいです:あなたMainActivity onCreate方法で

答えて

9

このライン

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

あなたはhttp://developer.android.com/reference/android/preference/PreferenceManager.html#setDefaultValues(android.content.Context、int型、boolean型でそれについて読むことができます)

+3

XML "はdefaultValueアンドロイド" を追加します。コード内の値を更新する(オーバーライドする)ことは冗長であり、両方をそのまま残すと後で混乱する可能性があります。 しかし、このコードをデバッグするときには、Androidの設定でアプリケーションデータが消去されるまで、設定項目の「デフォルト」がとられないことがよくあります。 – gtcompscientist

+0

@gtcompscientistあなたがコメントして投票する前に、あなたは参照リンクを読むべきです。それがあまりにも大変な場合は、setDefaultValues()のドキュメントを読んで、パラメータの意味を理解してください。どこで解決策を提供したのですか?xmlに設定された値を更新しますか?私が提供した解決策は、setDefaultValues()メソッドが何であるかを知っていれば、絶対に正確で明確です。 –

関連する問題