title: Resume to SurfaceView shows black screen
body: <p>All is ok, when I have started my application. But when I go to the next activity and come back the SurfaceView it looks like <code>black</code>. When I debug, I can see the lines that need to draw on the canvas running but nothing shows up.<br>
  Here is my code:</p>
  
  <pre><code>public class DrawView extends SurfaceView implements Runnable
  {
  
      Thread thread = null;
      SurfaceHolder holder;
      Bitmap background;
      Canvas canvas;
      Matrix matrixUP = new Matrix();
      Matrix matrixDOWN = new Matrix();
      boolean ok = false;
  
      public DrawView(Context context) 
      {
          super(context);
          holder = getHolder();
      }
  
      public void run() 
      {
          while(ok)
          {
              if(!holder.getSurface().isValid())
              {
                  continue;
              }
              watch_hand = Bitmap.createScaledBitmap(watch_hand, width/4, height/6, false);
              watch_hand_down = Bitmap.createScaledBitmap(watch_hand_down, width/4, height/6, false);
              background = BitmapFactory.decodeResource(getResources(), R.drawable.needles);
              background = Bitmap.createScaledBitmap(background, width, height/2+20, false);
              canvas = holder.lockCanvas();
              matrixUP.setTranslate(CENTER_X - watch_hand.getWidth()/2, height/4 - watch_hand.getHeight() - 40);
              matrixUP.preRotate((float) degreUP , watch_hand.getWidth()/2 , watch_hand.getHeight()-10);
  
              matrixDOWN.setTranslate(CENTER_X - watch_hand_down.getWidth()/2, height/2 - watch_hand_down.getHeight() - 20);
              matrixDOWN.preRotate((float) degreDOWN , watch_hand_down.getWidth()/2 , 10);
  
              canvas.drawARGB(255, 255, 255, 255);
              canvas.drawBitmap(background, 0, 0, null);
              canvas.drawBitmap(watch_hand, matrixUP, null);
              canvas.drawBitmap(watch_hand_down, matrixDOWN, null);
              holder.unlockCanvasAndPost(canvas);
          }           
      }
  
      public void pause()
      {
          ok = false;
          while(true)
          {
              try
              {
                  thread.join();
              }catch (InterruptedException e)
              {
                  e.printStackTrace();
              }
              break;
          }
          thread = null;
      }
  
      public void resume()
      {
          ok = true;
          thread = new Thread(this);
          thread.start();
      }           
  }
  </code></pre>
  
  <p>as you see I'm using a resume and pause function. They are called from the onCreate.
  Why is it happening and how can I fix this?</p>
  
  <p>Thanks!</p>