我正在开发自定义 ROM,但在尝试编译时收到此错误。我尝试添加自定义电池选择器。
com.android.settings.pcf.StatusBar is not abstract and does not override abstract method onPreferenceChange(android.preference.Preference,java.lang.Object) in android.preference.Preference.OnPreferenceChangeListener
这是 com.android.settings.pcf.StatusBar 文件:
package com.android.settings.pcf;
import android.os.Bundle;
import android.preference.CheckBoxPreference;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.PreferenceScreen;
import android.provider.Settings;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.R;
public class StatusBar extends SettingsPreferenceFragment implements OnPreferenceChangeListener {
private static final String PREF_BATT_ICON = "battery_icon_list";
ListPreference mBatteryIcon;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Load the preferences from an XML resource
addPreferencesFromResource(R.xml.prefs_statusbar);
mBatteryIcon = (ListPreference) findPreference(PREF_BATT_ICON);
mBatteryIcon.setOnPreferenceChangeListener(this);
mBatteryIcon.setValue((Settings.System.getInt(getActivity()
.getContentResolver(), Settings.System.STATUSBAR_BATTERY_ICON,
0))
+ "");
}
public boolean OnPreferenceChange(Preference preference, Object newValue) {
if (preference == mBatteryIcon) {
int val = Integer.parseInt((String) newValue);
return Settings.System.putInt(getActivity().getContentResolver(),
Settings.System.STATUSBAR_BATTERY_ICON, val);
}
return false;
}
}
有人能帮忙吗?
最佳答案
错误告诉您您没有完全实现 OnPreferenceChangeListener
接口(interface)。特别是,未实现 onPreferenceChange
方法。
要么实现这个方法,要么我猜你的意思是 OnPreferenceChange
是 onPreferenceChange
- 注意小写的“o” - (在这种情况下我相信你会之前还需要一个@Override
)
关于java - StatusBar 不是抽象的,不会覆盖抽象方法 onPreferenceChange,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13963973/