現在、thenewboston によるチュートリアルに従っています。ホルダーが真かどうかを常にチェックする while ループで、到達不能なコードでエラーが発生し続けます。
編集これは解決されました。
SurfaceHolder ourHolder;
Thread ourThread = null;
boolean isRunning = true;
public MyBringBackSurface(Context context) {
super(context);
ourHolder = getHolder();
ourThread = new Thread(this);
ourThread.start();
}
public void pause(){
isRunning = false;
while(true){
try {
ourThread.join();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
break;
}
ourThread = null;
}
public void resume(){
isRunning = true;
ourThread = new Thread(this);
ourThread.start();
}
@Override
public void run() {
// TODO Auto-generated method stub
while(isRunning){
if(!ourHolder.getSurface().isValid());
continue;
Canvas canvas = ourHolder.lockCanvas(); //Unreachable code
canvas.drawRGB(02, 02, 150);
ourHolder.unlockCanvasAndPost(canvas);
}
}
}