2012-12-20 77 views
1

我正在处理自定义ROM,并在尝试编译时收到此错误。我试图添加一个自定义电池选择器。StatusBar不抽象,不重写抽象方法onPreferenceChange

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; 
    } 
} 

谁能帮助?

回答

3

错误是告诉你,你没有完全实现OnPreferenceChangeListener接口。特别是,onPreferenceChange方法未实现。

要么实现此方法,或实际上,我猜你的意思OnPreferenceChangeonPreferenceChange - 注意是小写“O” - (在这种情况下,我相信你也将需要一个@Override之前)

+0

哇哦。我不相信我没有注意到大写字母o。我将它改为小写字母并添加了@Override,现在它可以工作。谢谢一堆。 –

相关问题