如何检索 XML 文件中定义的首选项的默认值

hal*_*ate 5 android sharedpreferences

您如何获得在相应XML文件中明确定义的单个 Android 共享首选项的默认值?例如:

<CheckBoxPreference
    android:defaultValue="false"
    android:key="fulldb"
    android:summary="No selection rules apply"
    android:title="Use Full Database" />
Run Code Online (Sandbox Code Playgroud)

cod*_*e22 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();
}
Run Code Online (Sandbox Code Playgroud)

}