2012-01-06 62 views
2

你怎麼弄的默認值的單一的Android共享偏好,因爲它是明確相應的XML文件中定義的XML文件中定義的優先級的缺省值?例如:如何檢索

<CheckBoxPreference 
    android:defaultValue="false" 
    android:key="fulldb" 
    android:summary="No selection rules apply" 
    android:title="Use Full Database" /> 

回答

1

這樣的..

public class Calc extends Activity { 
public static final String PREFS_NAME = "MyPrefsFile"; 

@Override 
protected void onCreate(Bundle state){ 
    super.onCreate(state); 
    . . . 

    // Restore preferences 
    SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 
    boolean silent = settings.getBoolean("silentMode", false); //default value if nothing is in the preference is the last parameter false. 
    setSilent(silent); 
} 

@Override 
protected void onStop(){ 
    super.onStop(); 

    // We need an Editor object to make preference changes. 
    // All objects are from android.context.Context 
    SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 
    SharedPreferences.Editor editor = settings.edit(); 
    editor.putBoolean("silentMode", mSilentMode); 

    // Commit the edits! 
    editor.commit(); 
} 

}

+0

對不起,這不是我所需要的。代碼示例在上面提供。 – halxinate 2012-05-03 22:52:53

0

見下文: 存儲該值:

public static SharedPreferences myPrefs; 
public static SharedPreferences.Editor prefsEditor; 

myPrefs = this.getSharedPreferences("myPrefs",MODE_WORLD_WRITEABLE); 

prefsEditor = myPrefs.edit();     
       prefsEditor.putBoolean("FullResultIsOn", true); // value to store     
       prefsEditor.commit(); 

現在以檢索值:

myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE); 
    fullResultSound = myPrefs.getBoolean("FullResultIsOn", false); 

享受。 :) 謝謝。

+0

不是這樣。默認值存儲在XML文件中,例如: <:CheckBoxPreference android:defaultValue =「false」 android:key =「fulldb」 android:summary =「如果選擇,則不應用選擇規則」 android:title = 「使用完整數據庫」/>' – halxinate 2012-05-03 22:45:16