2011-02-01 173 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虽然,否则你不会意识到这种方法不正确覆盖。