0

当我检查复选框是否被选中时,我会在以下代码中得到强制关闭:

public class preference extends PreferenceActivity implements OnSharedPreferenceChangeListener {

    public static final String nwd = "nwd";
    private CheckBoxPreference nwd_pref;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        ...
        nwd_pref = (CheckBoxPreference)getPreferenceScreen().findPreference(nwd);
        ...
    }

    @Override
    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
    ...
    if (nwd_pref.isChecked()){
       // do code
    }
    ...
    }
}

我在搜索过程中发现了这个例子,但对我来说看起来一样。

谢谢你的帮助!

4

1 回答 1

1

findPrefernece(..)将“返回带有键的首选项,或者为空。 ”看起来“nwd”尚未设置。

于 2011-05-27T16:30:32.490 回答