复选框preference和依赖 [英] CheckBoxPreference and dependency

查看:229
本文介绍了复选框preference和依赖的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个复选框和一个列表preference,我想禁用/通过复选框允许列表preference。我读了很多,我发现可以只使用Java(而不是XML)。对不对?现在,经过阅读复选框preF的值(布尔真/假)我不知道该怎么办。

 共享preferences prefs3 = preferenceManager.getDefaultShared preferences(本);
      监听=新的共享preferences.OnShared preferenceChangeListener(){
          公共无效onShared preferenceChanged(共享preferences preFS,字符串列表preF){

              复选框preference = prefs.getBoolean(注记格preF,真正的);
              }};

      prefs3.registerOnShared preferenceChangeListener(听众);
 

preferences.xml:

 <复选框preference
                        机器人:标题=Notifify
                        安卓:设置defaultValue =真
                        机器人:关键=复选框preF/>
            <表preference
         机器人:项=@阵列/ numberOptions
         机器人:entryValues​​ =@阵列/ numberValues​​
         机器人:关键=数字
         机器人:标题=数量/>
 

解决方案

添加

 安卓依赖=复选框preF
 

要在列表preference XML

结果:

 <表preference
         机器人:项=@阵列/ numberOptions
         机器人:entryValues​​ =@阵列/ numberValues​​
         机器人:关键=数字
         机器人:标题=数
         机器人:依赖=复选框preF
 />
 

I've a checkbox and a ListPreference, I'd like disable/enable ListPreference by checkbox. I read a lot and I found is possible only using java (and not by xml). Is it correct? Now, after read the value of "checkboxPref" (boolean true/false) I don't how do.

SharedPreferences prefs3 = PreferenceManager.getDefaultSharedPreferences(this);
      listener = new SharedPreferences.OnSharedPreferenceChangeListener() {
          public void onSharedPreferenceChanged(SharedPreferences prefs, String listpref) {       

              CheckboxPreference = prefs.getBoolean("checkboxPref", true);
              }   };

      prefs3.registerOnSharedPreferenceChangeListener(listener);

preferences.xml:

<CheckBoxPreference
                        android:title="Notifify"
                        android:defaultValue="true"
                        android:key="checkboxPref" />
            <ListPreference
         android:entries="@array/numberOptions"
         android:entryValues="@array/numberValues"
         android:key="number"
         android:title="Number" />

解决方案

Add

android:dependency="checkboxPref"

To the ListPreference XML

Result:

<ListPreference
         android:entries="@array/numberOptions"
         android:entryValues="@array/numberValues"
         android:key="number"
         android:title="Number"
         android:dependency="checkboxPref"
 />

这篇关于复选框preference和依赖的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆