2016-04-13 109 views
1

我想從一個名爲AbsSeekBar的類重寫幾個方法。然而,Android Studio使用標題中提到的消息和@Override以'Method不會覆蓋來自它的超類的方法'來強調super.methodname(),儘管該方法就在那裏。代碼示例:Android:「重寫超類方法時無法解析方法'x()'」

子類:

超的
import android.widget.AbsSeekBar; 

public class VerticalSeekBar extends AbsSeekBar { 

    // Constructors, work fine 
    ... 

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

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

    ... 
} 

代碼:onProgressRefresh標記@覆蓋

public abstract class AbsSeekBar extends ProgressBar { 

    // Some methods 
    ... 

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

     final Drawable thumb = mThumb; 
     if (thumb != null) { 
     setThumbPos(getWidth(), thumb, scale, Integer.MIN_VALUE); 

     // Since we draw translated, the drawable's bounds that it signals 
     // for invalidation won't be the actual bounds we want invalidated, 
     // so just invalidate this whole view. 
     invalidate(); 
    } 

    ... 
} 
+0

問題是否解決? –

+0

@SrikarReddy不幸的是沒有。你是否有同樣的問題? –

+0

是的,與onProgressRefresh有同樣的問題。不知道爲什麼會發生,以及如何解決它。 –

回答

0

你AbsSeekBar方法。 ProgressBar是否定義了一個方法onProgressRefresh(float,boolean,int)?

+0

是的,它的作用: '空隙onProgressRefresh(浮標尺,布爾FROMUSER,INT進展){ 如果(AccessibilityManager.getInstance(mContext).isEnabled()){ scheduleAccessibilityEventSender(); } }' –