2016-04-13 61 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(); } }' –