我为我的应用设置创建了一个复选框首选项。
因此,每当我选中或取消选中该框时,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文件。我不想要这个动作。
答案 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);
}