gpt4 book ai didi

java - 没有从 PreferenceScreen 中的 CheckBoxPreference 接收值?

转载 作者:太空宇宙 更新时间:2023-11-04 14:49:04 24 4
gpt4 key购买 nike

我正在使用 Eclipse 的默认“设置屏幕” Activity ,它创建了一个扩展 PreferenceScreen 的类。用于获取值的方法对我来说似乎很奇怪,但我正在使用它们。我可以通过这种方式获取 EditTextPreference 的值:

}else if(preference instanceof EditTextPreference) {
preference = (EditTextPreference) preference;
int p_value = Integer.valueOf(((EditTextPreference) preference).getText());
MainActivity.decimals = p_value;

这对于 EditTextPreference 和 ListPreference 效果很好。但是,在尝试使用 CheckBoxPreference 时,如下所示:

}else if(preference instanceof CheckBoxPreference) {
preference = (CheckBoxPreference) preference;
boolean toastEn = ((CheckBoxPreference) preference).isChecked();
if(toastEn) {
MainActivity.toastsEnabled = true;
}else MainActivity.toastsEnabled = false;

}

它不起作用。从我设法做的少量调试来看(此方法中的 Toast 和日志似乎非常有限),看起来它只是没有获取 CheckBoxPreference 的值。
我的做法正确吗?

编辑:封装方法如下所示(我一开始忘记添加它,抱歉,它可能很重要):

private static Preference.OnPreferenceChangeListener sBindPreferenceSummaryToValueListener = new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object value) {

最佳答案

您可以尝试向复选框添加监听器,例如 setOnPreferenceChangeListener or setOnPreferenceClickListener

关于java - 没有从 PreferenceScreen 中的 CheckBoxPreference 接收值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24029126/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com