我可以更改首选项文件名吗?

use*_*010 17 android sharedpreferences

在我的应用程序中,我尝试使用sharedPreferences来保存一些基本设置以及首选项屏幕.我的sharedPreferences的名称是appPrefs,因此我的文件名是.../appPrefs.xml但是,我的应用程序屏幕将它的首选项保存在default.SharedPreference文件中,即com.COMPANY.PACKAGENAME_preferences.xml

我想做的是让我的首选项屏幕读取/写入appPrefs文件的首选项.我查看了API,找不到任何东西.我是不是要管理两个sharedPreference文件?

dra*_*oon 32

只是回答有关如何在新的PreferenceFragment API中使用不同的共享设置名称的问题,您需要在覆盖onCreate时添加以下代码:

public static class PrefsFragment extends PreferenceFragment {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        PreferenceManager manager = getPreferenceManager();
        manager.setSharedPreferencesName("YOUR_SETTINGS_NAME");

        // Load the preferences from an XML resource
        addPreferencesFromResource(R.xml.preferences);
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 使用`PreferenceFragmentCompat`,我必须在`onCreatePreferences`方法(而不是onCreate)中定义设置文件名,以使其工作. (5认同)

Sni*_*las 7

你试过了吗:

PreferenceManager.setSharedPreferencesName 
Run Code Online (Sandbox Code Playgroud)

  • 所以检查我的答案!:) (4认同)