Canvas canvas = ourHolder.lockCanvas(); 这个holder是怎么获取到的? 可能是这个holder没有关联上SurfaceView

解决方案 »

  1.   

    private SurfaceHolder ourHolder;
    public MySurfaceView(Context context) {
    super(context);
    // TODO Auto-generated constructor stub
    ourHolder = getHolder();
    ourHolder.addCallback(this);

    }
    holder是这样获得的....
      

  2.   


    private SurfaceHolder ourHolder;
    public MySurfaceView(Context context) {
    super(context);
    // TODO Auto-generated constructor stub
    ourHolder = getHolder();
    ourHolder.addCallback(this);}
    holder是这样获得的....
      

  3.   

    你在onCreatSurface回调函数里面 去 创建线程  lock canvas 试试。
      

  4.   

    还是不行,canvas怎么可能会是空值呢?