Which settings file does PreferenceFragment read/write?

前端 未结 1 2015
既然无缘
既然无缘 2021-02-04 06:18

How can I control which file should be used by a PreferencesFragment for reading and writing settings? I can\'t find anything about that in the docs. If that can\'t

1条回答
  •  囚心锁ツ
    2021-02-04 06:47

    You have to manipulate the PreferenceManager of the SettingsFragment. This is what it looks like

    // Constants
    //--------------------------------------------------------------------------
    private final static String TAG = SettingsFragment.class.getName();
    public final static String SETTINGS_SHARED_PREFERENCES_FILE_NAME = TAG + ".SETTINGS_SHARED_PREFERENCES_FILE_NAME";
    
    // Life-cycle
    //--------------------------------------------------------------------------
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.d(TAG, "onCreate()");
    
        // Define the settings file to use by this settings fragment
        getPreferenceManager().setSharedPreferencesName(SETTINGS_SHARED_PREFERENCES_FILE_NAME);
    
        // Load the preferences from an XML resource
        addPreferencesFromResource(R.xml.preferences);
    }
    

    Then you can access this settings file outside of the fragment like this:

    SharedPreferences preferences = getActivity().getSharedPreferences(
            SettingsFragment.SETTINGS_SHARED_PREFERENCES_FILE_NAME,
            Context.MODE_PRIVATE);
    

    0 讨论(0)
提交回复
热议问题