本文介绍了GET preferenceScreen()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要检查一个值,并启用或禁用编程复选框preference。我用这个code,但得到preferenceScreen()想要一个方法,我不知道哪种方法使用。 (我用这个在Android 2.1)。

 <复选框preference
                        机器人:启用=真
                        机器人:标题=现在
                        机器人:设置defaultValue =假
                        机器人:键=守/>保护无效检查(){        //读取值        如果(值){
。GET preferenceScreen()找到preference(复选框 - preference键)的setEnabled(真)。
        }
        其他{
。GET preferenceScreen()找到preference(复选框 - preference键)的setEnabled(假)。


解决方案

使用的get preferenceManager()代替。

所以你的code现在看起来像:

 的get preferenceManager()找到preference(保持)的setEnabled(值)。

这是等同

 如果(值){
  获得preferenceManager()找到preference(保持)的setEnabled(真)。;
}
其他{
  获得preferenceManager()找到preference(保持)的setEnabled(假)。;
}

I need check a value and enable or disable programatically "checkboxpreference". I using this code but getPreferenceScreen() wants a method and I don't know which method use. (I use this on android 2.1).

                        <CheckBoxPreference
                        android:enabled="true"
                        android:title="Now"
                        android:defaultValue="false"
                        android:key="keep" />



protected void check(){

        // read values

        if (values){
getPreferenceScreen().findPreference("checkbox-preference-key").setEnabled(true);
        }
        else {
getPreferenceScreen().findPreference("checkbox-preference-key").setEnabled(false);
解决方案

Use getPreferenceManager() instead.

So your code now looks like:

getPreferenceManager().findPreference("keep").setEnabled(values);

This is the equivalent of

if (values){
  getPreferenceManager().findPreference("keep").setEnabled(true);
}
else {
  getPreferenceManager().findPreference("keep").setEnabled(false);
}

这篇关于GET preferenceScreen()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-26 04:53