gpt4 book ai didi

java - Android 2.2 应用程序的 OnPreferenceChangeListener.onPreferenceChange 方法中 @Override 的不同行为取决于源代码级别

转载 作者:行者123 更新时间:2023-11-29 06:20:34 26 4
gpt4 key购买 nike

我正在开发 Android 2.2 应用程序,我将使用 Preference.OnPreferenceChangeListener 接口(interface)。

我已将以下代码添加到我的偏好 Activity 中:

Preference somePref = findPreference(SOME_PREF);
somePref.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {

@Override
public boolean onPreferenceChange(Preference preference,
Object newValue) {
// some code here
return true;
}
});

如果我使用 1.6 Java 编译器和 1.6 源代码级别,那么一切都很好。但是,如果我将源代码级别更改为 1.5,则会收到一条错误消息:

The method onPreferenceChange(Preference, Object) of type new Preference.OnPreferenceChangeListener(){} must override a superclass method

问题是:为什么?

最佳答案

这是因为在 Java 6 中,@Override 注解可以应用于接口(interface)方法的实现和覆盖父类(super class)方法的方法。另一方面,在 Java 5 中,@Override 只能应用于覆盖方法。

关于java - Android 2.2 应用程序的 OnPreferenceChangeListener.onPreferenceChange 方法中 @Override 的不同行为取决于源代码级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3203009/

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