Android OnPreferenceClickListener:布尔返回值的作用是什么?

Android OnPreferenceClickListener:布尔返回值的作用是什么?,android,android-preferences,Android,Android Preferences,从这个例子中: private static Preference.OnPreferenceClickListener BindToPreferenceClickListener = new Preference.OnPreferenceClickListener() { public boolean onPreferenceClick(Preference preference) { boolean isHandled = false; if (...)

从这个例子中:

private static Preference.OnPreferenceClickListener BindToPreferenceClickListener = new Preference.OnPreferenceClickListener() {
    public boolean onPreferenceClick(Preference preference) {
        boolean isHandled = false;
        if (...) {
           isHandled = true;
        }
        return isHandled;
    }
}

“true”的返回值有什么作用?API文档说明,如果“true”,则该值表示已处理单击,但这到底意味着什么?我认为这意味着没有调用传递的首选项的编辑器,可以使用自定义编辑器,但我的实验得出结论,默认编辑器在任何一种状态下都会被调用。

这意味着当有人单击首选项时,您的侦听器有机会处理单击

如果处理单击,则返回true

如果不处理单击,即单击时不执行任何操作,则可以返回false,然后系统将单击传递给正在侦听该首选项的单击的下一个侦听器


我想不出一个例子,在这个例子中,你会先听到点击,然后再不处理。很抱歉。

正如OnPreferenceChangeListener.onPreferenceChange方法文档所说:

返回True以使用新值更新首选项的状态


该方法在将新值持久化到首选项之前运行。如果返回false,则该值不会持久化。如果您返回true,它将被持久化。

但它不是addOnPreferenceClickListener。这是设置首选项ClickListener。不可能有其他听众…这应该被接受为正确答案。每个首选项对象只能有一个侦听器。例如,如果您错误地决定用户未选中“个性化您的广告”,您可以通过简单的错误返回忽略该点击。