2011-02-01 114 views
2

我需要重寫onMeasure方法,而是試圖超越時,我得到錯誤: The method OnMeasure(int, int) of type DrawLnClass.DrawLn must override a superclass method無法覆蓋onMeasure方法

這裏是我的代碼:

public class DrawLnClass extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(new DrawLn(this)); 
    } 
    public class DrawLn extends View { 

     Paint _paint; 
     int _height; 
     int _width; 
     Bitmap _bitmap; 
     Canvas _canvas; 
     Point[] xLine; 
     Point[] yLine; 

     public DrawLn(Context context) { 
      super(context); 
      _paint = new Paint(); 
      _paint.setColor(Color.CYAN); 
      _paint.setStyle(Paint.Style.STROKE); 
     } 

     @Override 
     protected void OnMeasure(int widthMeasureSpec, int heightMeasureSpec) 
     { 
      //super.onMeasure(widthMeasureSpec, heightMeasureSpec); 
      _width = View.MeasureSpec.getSize(widthMeasureSpec); 
      _height = View.MeasureSpec.getSize(heightMeasureSpec); 

      Toast.makeText(getContext(), "Width = " + _width, Toast.LENGTH_SHORT).show(); 
      Toast.makeText(getContext(), "Height = " + _height, Toast.LENGTH_SHORT).show(); 

      setMeasuredDimension(_width, _height); 

      //_bitmap = Bitmap.createBitmap(_width, _height, Bitmap.Config.ARGB_8888); 
      //_canvas = new Canvas(_bitmap); 

      //calcLinePlacements(); 
      //drawBoard(); 

     } 

回答

12

您大寫第一個O,它應該在測量而不是在測量。

我敢打賭,你很高興你使用@Override雖然,否則你不會意識到這種方法不正確覆蓋。