java - StatusBar 不是抽象的,不会覆盖抽象方法 onPreferenceChange

标签 java android statusbar rom

我正在开发自定义 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 方法。

要么实现这个方法,要么我猜你的意思是 OnPreferenceChangeonPreferenceChange - 注意小写的“o” - (在这种情况下我相信你会之前还需要一个@Override)

关于java - StatusBar 不是抽象的,不会覆盖抽象方法 onPreferenceChange,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13963973/

相关文章:

java - Google Cloud 端点存储桶下载器

java - 如何删除 Firebase 数据库数组中的项目?

java - Android - URL 编码器无法正常工作

android - xml 文件中未知的感叹号

ios - 如何更改状态背景以不同于 iOS 7 上的导航栏?

安卓状态栏通知: make it un-clearable and have it return to app (not start a new instance)

java - 如何在 spring boot 中将 cookie 设置为安全标志

java - Guava 缓存获取和放置行为

ios - 了解隐藏在状态栏中的神奇数字

java - 在 Spring PetClinic 示例应用程序中映射 URL