2013-04-29 61 views
0
@Override 
protected void onDraw(Canvas canvas){ 
       super.onDraw(canvas); 
       Paint paint = new Paint(); 
       canvas.drawPaint(paint); 
       paint.setStyle(Paint.Style.FILL); 
       paint.setColor(Color.WHITE); 
       update(); 
       canvas.drawCircle(XC, YC, radius, paint); 
       } 

SurfaceView中的渲染方法 第一次最小化程序 - 展开时一切正常。 当复性是一个错误SurfaceView错误

04-29 22:57:16.959: E/AndroidRuntime(4813): FATAL EXCEPTION: Thread-23150 

04-29 22:57:16.959: E/AndroidRuntime(4813): java.lang.NullPointerException 

04-29 22:57:16.959: E/AndroidRuntime(4813): at com.example.blindballtest.GameField.onDraw(GameField.java:10 1) 

04-29 22:57:16.959: E/AndroidRuntime(4813): at com.example.blindballtest.ThreadGame.run(ThreadGame.java:42) 

请告诉我,什么是错的,如何解决?

对不起,我的英语。

回答

0

试试这个代码...

@Override 
protected void onDraw(Canvas canvas){ 
      this.oDraw(canvas); 

      } 
private void oDraw(Canvas canvas){ 
Paint paint = new Paint(); 
      canvas.drawPaint(paint); 
      paint.setStyle(Paint.Style.FILL); 
      paint.setColor(Color.WHITE); 
      update(); 
      canvas.drawCircle(XC, YC, radius, paint); 
} 
+0

发誓对super.oDraw(画布); – Alexey 2013-04-29 20:25:05