首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android CheckBoxPreference:如何在首选项更改时禁用和启用其他首选项

Android CheckBoxPreference:如何在首选项更改时禁用和启用其他首选项
EN

Stack Overflow用户
提问于 2011-10-13 16:44:40
回答 4查看 24.4K关注 0票数 13

我有CheckBoxPreference和其他两个:一个是编辑测试首选项。另一个是ListBox首选。How I can enable列表框首选项和disable编辑文本首选项。何时打开CheckBoxPreference?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-10-13 17:22:41

看起来是this question的翻版

您可以覆盖public void onSharedPreferenceChanged(final SharedPreferences sharedPreferences, final String key),并在使用key.equals(<Your key for setting>)调用它时执行如下操作:

代码语言:javascript
复制
boolean isEnabled = sharedPreferences.getBoolean(key, true);
getPreferenceScreen().findPreference("list box preference key").setEnabled(isEnabled);
getPreferenceScreen().findPreference("list box preference key").setEnabled(!isEnabled);

此外,在onCreate()中执行相同的操作,以使您的首选项显示正确的初始设置。

票数 35
EN

Stack Overflow用户

发布于 2016-03-17 15:59:44

作为一种变体,可以将“依赖项”放入ListBoxPref中。

代码语言:javascript
复制
<PreferenceCategory
android:key="key1"
android:title="@string/title1">
<SwitchPreference
    android:key="parents"
    android:summaryOff="@string/do_smthng"
    android:summaryOn="@string/do_smthng"
    android:switchTextOff="@string/i_am_sleeping"
    android:switchTextOn="@string/i_have_free_time" />
<CheckBoxPreference
    android:key="baby"
    android:dependency="parents"
    android:title="@string/basic_habbits"
    android:summaryOff="@string/play_with_parents"
    android:summaryOn="@string/play_with_parents"
    android:defaultValue="true" />
</PreferenceCategory>

基本上,宝宝在睡觉的时候不能和父母一起玩=)

票数 36
EN

Stack Overflow用户

发布于 2014-01-17 12:37:56

您可以获取复选框值。然后,要启用/禁用首选项,您可以使用pref.setEnabled(false);来启用,只需使用相同的函数并输入真值。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7751525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档