如何从Android中的两个单独的SwitchPreferences中的至少一个强制执行真值?我正在创建一个应用程序,用户可以决定他或她是否想要与男性,女性或两者接触。由于两者都不是一个选项,我基本上希望show_me_males如果设置为false则将其切换为true,并且show_me_females设置为false,反之亦然。
<SwitchPreference
android:defaultValue="true"
android:key="show_me_males"
android:summary="@string/pref_description_show_me_males"
android:title="@string/pref_title_show_me_males" />
<SwitchPreference
android:defaultValue="true"
android:key="show_me_females"
android:summary="@string/pref_description_show_me_females"
android:title="@string/pref_title_show_me_females" />
答案 0 :(得分:0)
当两个开关都设置为false
时,使用OnPreferenceChangeListener显示错误。
由于两者都不是一个选项,我基本上希望show_me_males如果设置为false并且show_me_females设置为false则切换为true,反之亦然。
我会避免为用户自动更改开关,它会改变其他应用程序的预期行为。如果我不小心点击了开关,我宁愿选择&#34;取消选择&#34;与追逐恢复状态的未知方法相同的转换。
想象一下,如果有人认为握手不够,他们会决定他们应该同时猛烈地拉着你的手......那是非标准的行为而且很奇怪。