在android中处理preference.xml文件

时间:2013-12-09 10:36:08

标签: android sharedpreferences

我为我的应用设置创建了一个复选框首选项。

因此,每当我选中或取消选中该框时,android都会自动创建myapp_preferences.xml文件。这是android的默认工作。

这是我的问题:

我还维护一个单独的xml文件来维护此复选框的状态。所以我认为不需要myapp_preferences.xml文件,它是由android创建的。 有没有办法避免myapp_preferences.xml 文件被创建。?

这是我的代码:

final CheckBoxPreference CheckBoxPreference = (CheckBoxPreference) getPreferenceManager().findPreference(rsrc.getString(R.string.settings_checked));
            CheckBoxPreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() 
            {            
                public boolean onPreferenceChange(Preference preference, Object newPreference)
                {
                    final SharedPreferences prefs = getSharedPreferences(Custom_Preference, 0);
                    final Editor edit = prefs.edit();
                    Boolean newBoolPreference = (Boolean) newPreference;
                    edit.putBoolean(rsrc.getString(R.string.settings_checked), newBoolPreference);
                    edit.commit();
                    return true;
                }
            }); 

每当我选中或取消选中此框时,android会自动创建自己的首选xml文件。我不想要这个动作。

1 个答案:

答案 0 :(得分:0)

PreferenceActivity中,添加以下代码:

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

                PreferenceManager prefMgr = getPreferenceManager();
                prefMgr.setSharedPreferencesName("your custom filename");
                prefMgr.setSharedPreferencesMode(Context.MODE_PRIVATE);


                addPreferencesFromResource(R.xml.preference);

                this.appPreferences.sharedPreferences.registerOnSharedPreferenceChangeListener(listener);

        }