【发布时间】:2013-12-09 10:36:07
【问题描述】:
我为我的应用设置创建了一个复选框首选项。
所以每当我选中或取消选中该框时,android 都会自动创建 myapp_preferences.xml 文件。这是android的默认工作。
这是我的问题:
我还维护一个单独的 xml 文件来维护此复选框的状态。所以我认为不需要由android创建的myapp_preferences.xml文件。 有什么方法可以避免创建 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 文件。我不想要这个动作。
【问题讨论】:
-
为什么你要维护这个复选框的状态,而android已经这样做了?你应该摆脱你的文件而不是 myapp_preferences.xml
-
必须为其他目的创建我的自定义首选项 xml 文件。抱歉,我无法避免。
-
发布一些代码。如何生成 XML 文件
-
已添加代码。 @MadhurAhuja
-
如果您使用标准 API
SharedPreferences(始终由 xml 文件支持),则无法避免创建文件。只需使用您自己的 api 写入您自己的 xml 首选项文件。