1
我正在尝试使DefaultSharedPreferences中的项目启用。在DefaultSharedPreferances中启用和选择偏好
中的preferences.xml我的值改为android:enabled="false"
现在我试图创造的一段代码,这将使当defaultsharedpreferences一个复选框别处被选中启用此偏好。
我的XML文件:
<CheckBoxPreference
android:key="checkboxinternet"
android:title="Checkbox Preference"
android:summary="Check it on, check it off"
/>
所以,当这个复选框被选中
SharedPreferences ingevuldesysteeminstellingen = PreferenceManager.getDefaultSharedPreferences(this);
if (true == ingevuldesysteeminstellingen.getBoolean("checkboxinternet", false)) {
Editor editor = PreferenceManager.getDefaultSharedPreferences(this).edit();
editor.putBoolean("checkboxinternet", false);
editor.commit();
} else { }
是这甚至可能,试图改变这些值启用和选择,在寻找到这几天现在,并开始相信这是不可能的。
UPDATE
到目前为止,我得到了下面的部分工作,并时刻复选框得到压制我可以得到它执行的东西。但是,我仍然无法让它工作,使列表或其他复选框启用或可选。
我的代码到目前为止
ingevuldesysteeminstellingen = PreferenceManager.getDefaultSharedPreferences(this);
listener = new SharedPreferences.OnSharedPreferenceChangeListener()
{
public void onSharedPreferenceChanged(SharedPreferences ingevuldesysteeminstellingen,String key)
{
if (key.equals("checkboxautomaticrefresh"))
{
System.out.println("Checkbox automatic refresh werd uitgelezen");
//refreshtijdenable();
}
else
{
}
}
};
ingevuldesysteeminstellingen.registerOnSharedPreferenceChangeListener(listener);
那么这将是下一个,我让德获取列表或启用与否的复选框。
不知怎的,我不能去实现与这一个defaultsharedpreferences东西。 .findPreference()似乎不适用于defaultsharedpreferences。 – Chester
执行此行时:CheckBoxPreference checkboxPref =(CheckBoxPreference)getPreferenceManager()。findPreference(“checkboxinternet”);整个程序崩溃,任何人的想法。 – Chester
崩溃时会出现什么异常? –