16

如何控制 a 应使用哪个文件PreferencesFragment进行读写设置?我在文档中找不到任何关于此的内容。如果不能通过代码或 XML 资源控制,是否有任何保证,文件被称为什么,所以我可以使用显式打开它

Activity.getSharedPreferences(String name, int mode)

谢谢。

4

1 回答 1

46

你必须操纵PreferenceManager. SettingsFragment这就是它的样子

// 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);
}

然后你可以像这样在片段之外访问这个设置文件:

SharedPreferences preferences = getActivity().getSharedPreferences(
        SettingsFragment.SETTINGS_SHARED_PREFERENCES_FILE_NAME,
        Context.MODE_PRIVATE);
于 2013-08-01T13:20:00.733 回答