Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.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
Android Checkboxpreference更改值_Android_Preferenceactivity_Android Checkbox_Preferencescreen - Fatal编程技术网

Android Checkboxpreference更改值

Android Checkboxpreference更改值,android,preferenceactivity,android-checkbox,preferencescreen,Android,Preferenceactivity,Android Checkbox,Preferencescreen,我在首选项活动中有checkboxpreference,我希望当其中一个复选框被启用时,另一个复选框应该被禁用,反之亦然。 我想在我的主要课堂活动中做到这一点 这是我的密码: Preferencecheckbox.xml <?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <CheckB

我在首选项活动中有checkboxpreference,我希望当其中一个复选框被启用时,另一个复选框应该被禁用,反之亦然。 我想在我的主要课堂活动中做到这一点

这是我的密码:

Preferencecheckbox.xml

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<CheckBoxPreference
    android:defaultValue="true"
    android:icon="@drawable/img"
    android:key="check1"
    android:title="first" />
<CheckBoxPreference
    android:defaultValue="false"
    android:icon="@drawable/img2"
    android:key="check2"
    android:title="second" />
</PreferenceScreen>

您需要在需要禁用的复选框中添加依赖项

像这样:

<CheckBoxPreference
    android:defaultValue="false"
    android:icon="@drawable/img2"
    android:key="check2"
    android:title="second" 
    android:dependency="check1" />
要在活动关闭时保持更改,您需要像这样获取首选项引用并直接添加到下面

public void persistCheckBoxState (CheckBoxPreference switch, CheckBoxPreference checkbox2) {
if (switch.isChecked ()){ 
     checkbox2.setEnabled(false);
      } else {
      checkbox2.setEnabled(true);
    }
}

您需要在需要禁用的复选框中添加依赖项

像这样:

<CheckBoxPreference
    android:defaultValue="false"
    android:icon="@drawable/img2"
    android:key="check2"
    android:title="second" 
    android:dependency="check1" />
要在活动关闭时保持更改,您需要像这样获取首选项引用并直接添加到下面

public void persistCheckBoxState (CheckBoxPreference switch, CheckBoxPreference checkbox2) {
if (switch.isChecked ()){ 
     checkbox2.setEnabled(false);
      } else {
      checkbox2.setEnabled(true);
    }
}


也许
列表首选项
更符合您的需要。从可用性的角度来看,这更有意义。当你必须从许多选择中选择一个时,这将是最明显的方法。有关更多说明,请参阅帖子

也许
列表首选项
更符合您的需要。从可用性的角度来看,这更有意义。当你必须从许多选择中选择一个时,这将是最明显的方法。请参阅帖子以了解更多说明

请参阅
android.preference.preference中的
android:dependency
我认为我们不能在首选项屏幕中使用单选按钮请参阅
android.preference.preference中的
android:dependency
我认为我们不能在首选项屏幕中使用单选按钮,如果有超过2个呢复选框然后我们可以向彼此添加3个或更多依赖项是的。
android:dependency
属性使用引用的首选项的状态来处理禁用或启用状态。您可以帮助我以编程方式执行此操作吗?它不起作用。当任何一个复选框被选中时,我想取消选中所有复选框。代码段正在工作。请确保使用您的首选项键而不是我的。如果有2个以上的复选框,那么我们可以向每个复选框添加3个或更多的依赖项吗?是的。
android:dependency
属性使用引用的首选项的状态来处理禁用或启用状态。您可以帮助我以编程方式执行此操作吗?它不起作用。当任何一个复选框被选中时,我想取消选中所有复选框。代码段正在工作。请确保使用您的首选项键而不是我的。好吧,ListPreference可以工作,但我不能将image与它一起使用。好吧,这应该不会是一个问题。请参阅本文以了解更多说明:well ListPreference可以工作,但我无法将image与之配合使用。这毕竟应该不是问题。有关更多说明,请参阅本帖: