Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在DefaultSharedReferences中启用并选择一个首选项_Java_Android - Fatal编程技术网

Java 在DefaultSharedReferences中启用并选择一个首选项

Java 在DefaultSharedReferences中启用并选择一个首选项,java,android,Java,Android,我正在尝试启用DefaultSharedReferences中的项目 在preferences.xml中,我将值更改为android:enabled=“false” 现在,我正在尝试创建一段代码,当选中DefaultSharedReferences中其他地方的复选框时,将启用此首选项 我的XML文件: <CheckBoxPreference android:key="checkboxinternet" android:title="Check

我正在尝试启用DefaultSharedReferences中的项目

在preferences.xml中,我将值更改为
android:enabled=“false”

现在,我正在尝试创建一段代码,当选中DefaultSharedReferences中其他地方的复选框时,将启用此首选项

我的XML文件:

        <CheckBoxPreference
        android:key="checkboxinternet"
        android:title="Checkbox Preference"
        android:summary="Check it on, check it off"
    />
这是可能的,尝试更改已启用和可选择的值,已经研究了几天,并且开始相信这是不可能的

更新

到目前为止,我已经完成了以下部分的工作,只要按下复选框,我就可以让它执行某些操作。但我仍然无法让它工作,使列表或其他复选框启用或可选择

到目前为止我的代码

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);

那么,我下一步要做什么才能使列表或复选框启用或不启用。

您可以在您的
首选项活动中使用以下代码:

    //Retrieve the other checkbox
    CheckBoxPreference otherCheckboxPref = 
    (CheckBoxPreference) getPreferenceManager().findPreference("othercheckboxpreff");

    //Set a listener to the checkbox
    otherCheckboxPref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {  

       public boolean onPreferenceChange(Preference preference, Object newValue) {
           //Retrieve the 'checkboxinternet'
           CheckBoxPreference checkboxPref = (CheckBoxPreference) getPreferenceManager().findPreference("checkboxinternet");   
           //If it's checked, set the 'checkboxinternet' Enabled property to true
           if (newValue.toString().equals("true"))
           {  
                checkboxPref.Enabled = true;
           } 
           //Else , set it to false
           else 
           {  
                checkboxPref.Enabled = false;
           }
           return true;
        }
     });

不知何故,我无法启用DefaultSharedReferences中的某些内容。findPreference()对于defaultsharedpreferences似乎根本不起作用。执行此行时:CheckBoxPreference checkboxPref=(CheckBoxPreference)getPreferenceManager()。findPreference(“checkboxinternet”);整个程序崩溃了,任何人都知道。崩溃时会出现什么异常?
    //Retrieve the other checkbox
    CheckBoxPreference otherCheckboxPref = 
    (CheckBoxPreference) getPreferenceManager().findPreference("othercheckboxpreff");

    //Set a listener to the checkbox
    otherCheckboxPref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {  

       public boolean onPreferenceChange(Preference preference, Object newValue) {
           //Retrieve the 'checkboxinternet'
           CheckBoxPreference checkboxPref = (CheckBoxPreference) getPreferenceManager().findPreference("checkboxinternet");   
           //If it's checked, set the 'checkboxinternet' Enabled property to true
           if (newValue.toString().equals("true"))
           {  
                checkboxPref.Enabled = true;
           } 
           //Else , set it to false
           else 
           {  
                checkboxPref.Enabled = false;
           }
           return true;
        }
     });