从这个例子:
private static Preference.OnPreferenceClickListener BindToPreferenceClickListener = new Preference.OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference preference) {
boolean isHandled = false;
if (...) {
isHandled = true;
}
return isHandled;
}
}
'true'的返回值是做什么的? API文档声明该值表示如果“true”处理了点击,但这究竟意味着什么?我认为这意味着没有调用传递首选项的编辑器,而是可以使用自定义编辑器,但我的实验得出结论,默认编辑器在任一状态下都被调用。
答案 0 :(得分:5)
这意味着当有人点击偏好时,您的听众有机会处理点击。
如果您处理点击,则返回true。
如果您没有处理点击,即单击此处时您没有执行任何操作,则可以返回false,然后系统会将点击传递给正在侦听该首选项的单击的下一个侦听器。 / p>
我想不出一个例子,你会听点击然后不处理它抱歉。
答案 1 :(得分:4)
正如OnPreferenceChangeListener.onPreferenceChange方法文档所说:
返回True以使用新值更新Preference的状态。
在将新值保存到首选项之前运行该方法。如果返回false,则不会保留该值。如果您返回true,则会保持不变。