2016-06-01 12 views
0

Ich habe diese SeekBar.java:SeekBar.java haben Fehler

package android.widget; 

import android.content.Context; 
import android.util.AttributeSet; 
public class SeekBar extends AbsSeekBar { 
public interface OnSeekBarChangeListener { 
    void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser); 


     void onStartTrackingTouch(SeekBar seekBar); 


     void onStopTrackingTouch(SeekBar seekBar); 


    private OnSeekBarChangeListener mOnSeekBarChangeListener; 

    public SeekBar(Context context) { 
     this(context, null); 
    } 

    public SeekBar(Context context, AttributeSet attrs) { 
     this(context, attrs, com.android.internal.R.attr.seekBarStyle); 
    } 

    public SeekBar(Context context, AttributeSet attrs, int defStyleAttr) { 
     this(context, attrs, defStyleAttr, 0); 
    } 

    public SeekBar(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { 
     super(context, attrs, defStyleAttr, defStyleRes); 
    } 

    @Override 
    void onProgressRefresh(float scale, boolean fromUser, int progress) { 
     super.onProgressRefresh(scale, fromUser, progress); 

     if (mOnSeekBarChangeListener != null) { 
      mOnSeekBarChangeListener.onProgressChanged(this, progress, fromUser); 
     } 
    } 


    public void setOnSeekBarChangeListener(OnSeekBarChangeListener l) { 
     mOnSeekBarChangeListener = l; 
    } 

    @Override 
    void onStartTrackingTouch() { 
     super.onStartTrackingTouch(); 
     if (mOnSeekBarChangeListener != null) { 
      mOnSeekBarChangeListener.onStartTrackingTouch(this); 
     } 
    } 

    @Override 
    void onStopTrackingTouch() { 
     super.onStopTrackingTouch(); 
     if (mOnSeekBarChangeListener != null) { 
      mOnSeekBarChangeListener.onStopTrackingTouch(this); 
     } 
    } 

    @Override 
    public CharSequence getAccessibilityClassName() { 
     return SeekBar.class.getName(); 
    } 
} 

The Aufschalten Linien in onProgressRefresh, onStartTrackingTouch diesem Fehler onStopTrackingTouch geben:

Methode überschreibt nicht von seinem Super Klasse.

Und dieses Problem verursacht einen anderen Fehler in meinem Code, wie kann ich das beheben? Vielen Dank.

Antwort

2

SeekBar extends AbsSeekBar

AbsSeekBar hat keine Methode onProgressRefresh noch nicht namentlich genannt Sie die Überschreibung Annotation verwenden.
Die onProgressRefresh ist in OnSeekBarChangeListener Schnittstelle.
Ich vermute, du hast vergessen, Implementierungen zu schreiben.

SeekBar extends AbsSeekBar implements OnSeekBarChangeListener

1

Dieser Fehler bedeutet, dass seine Superklasse nicht diese Methoden hat (onProgressRefresh, onStartTrackingTouch, onStopTrackingTouch). Wenn Sie diese Methoden überschreiben möchten, sollten Sie die Superklasse überprüfen. Oder Sie entfernen einfach @Override