checkboxpreference中的多重依赖关系android或listpreference的依赖关系
发布时间:2020-05-23 00:01:43 所属栏目:程序设计 来源:互联网
导读:例如:我的首选项屏幕中有三个复选框,并且每个复选框都有3个不同的列表首选项(A,B,C).我想让用户一次只选择一个复选框.我如何实现这一目标? 首选项屏幕中没有单选按钮 我不能使用Listpreference,如果我可以使用它 ListPreference android:key=livewallpaper_
|
例如:我的首选项屏幕中有三个复选框,并且每个复选框都有3个不同的列表首选项(A,B,C).我想让用户一次只选择一个复选框.我如何实现这一目标? >首选项屏幕中没有单选按钮 ListPreference
android:key="livewallpaper_testpattern"
android:title="@string/livewallpaper_settings_title"
android:summary="@string/livewallpaper_settings_summary"
android:entries="@array/livewallpaper_testpattern_names"
android:entryValues="@array/livewallpaper_testpattern_prefix"
这个Listprefrence的数组是“蓝色”,“红色”,“白色”
我怎样才能做到这一点? 我在谷歌搜索3-4页,这里几乎所有关于这些,但我找不到任何答案. 最好的祝福, 提前致谢.. 您可以在PreferenceActivity类中覆盖onSharedPreferenceChanged,并以编程方式启用/禁用适当的首选项:public class MyPreferences extends PreferenceActivity implements OnSharedPreferenceChangeListener {
...
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,String key) {
if (key.equals("livewallpaper_testpattern")) {
if (/* check if livewallpaper_testpattern equals to blue */) {
findPreference("ListPreferenceKey_A").setEnabled(true);
findPreference("ListPreferenceKey_B").setEnabled(false);
findPreference("ListPreferenceKey_C").setEnabled(false);
} else if (/* check if livewallpaper_testpattern equals to red */) {
// enable B,disable A & C
} else if (/* check id livewallpaper_testpattern equals to white */) {
// enable C,disable A & B
}
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
