我目前正在开发一个机器人应用程序,并想知道是否有一种方法可以根据另一个首选项的值启用或禁用首选项。
例如,如果我有checkbox_pref1,如果启用了那么select2 / 3/4被启用,如果checkbox_pref1被禁用,则option2 / 3/4会自动被禁用,或者这是否有一个XML属性可以完成此任务,或者是什么我需要编码来实现这种效果。
感谢您提供的任何帮助。
答案 0 :(得分:28)
您可以使用dependency
属性执行此操作。在您的Preference
XML中,您可以将以下行添加到checkbox_pref2
,checkbox_pref3
和checkbox_pref2
首选项中:
android:dependency="checkbox_pref1"
有用的链接:
答案 1 :(得分:7)
以下是禁用PreferenceScreen的示例,直到选中主复选框首选项为止 - 谢谢kcoppock!对不起,我的代表不够高兴你。
<CheckBoxPreference
android:title="@string/Day1_title"
android:summary="@string/Day1_summary"
android:key="pref_Day1" />
<PreferenceScreen
android:dependency="pref_Day1"
android:key="day1_screen"
android:summary="@string/Extra_Options">
<EditTextPreference
android:title="@string/Day1_title"
android:summary="@string/Workout_Date"
android:key="Day1_date"/>
<EditTextPreference
android:title="@string/Comment_title"
android:key="Day1_comment"/>
</PreferenceScreen>