简体   繁体   English

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

[英]StatusBar is not abstract and does not override abstract method onPreferenceChange

I'm working on a custom ROM and I'm receiving this error while trying to compile it. 我正在研究自定义ROM,并且在尝试编译时遇到此错误。 I tried to add a custom battery selector. 我尝试添加自定义电池选择器。

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

This is the the com.android.settings.pcf.StatusBar file: 这是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;
    }
}

Can anyone help? 有人可以帮忙吗?

The error is telling you that you didn't fully implement the OnPreferenceChangeListener interface. 该错误告诉您没有完全实现OnPreferenceChangeListener接口。 In particular, the onPreferenceChange method is not implemented. 特别是,没有实现onPreferenceChange方法。

Either implement this method, or I'm actually guessing you meant OnPreferenceChange to be onPreferenceChange - note the lowercase "o" - (in which case I believe you will also need a @Override before it) 要么实现这个方法,要么我实际上猜测你的意思是OnPreferenceChangeonPreferenceChange - 请注意小写的“o” - (在这种情况下我相信你之前还需要一个@Override

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM