Note that there are some explanatory texts on larger screens.

plurals
  1. POResume to SurfaceView shows black screen
    text
    copied!<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>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload