2012-12-20 76 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,現在它可以工作。謝謝一堆。 –

相關問題