내 프로그램이 회전/방향에서 시작될 때 완벽하게 실행되지만 가로 방향으로 방향을 변경할 때 < -> 초상화가 실행되는 동안 내 캔버스 때문에 널 포인터 예외가 발생합니다.Android의 화면 방향을 변경할 때 왜 캔버스에 널 포인터 예외가 발생합니까?
@Override
public void run(){
while(running){
if(surfaceHolder.getSurface().isValid()){
Canvas canvas = surfaceHolder.lockCanvas();
canvas.drawColor(Color.BLACK); //NULLPOINTEREXCEPTION here
paint(canvas); //another function of mine
surfaceHolder.unlockCanvasAndPost(canvas);
}
}
}
그리고 나는 안드로이드가 : configChanges = 내 매니페스트의 '취향'뿐만 아니라
@Override
public void onConfigurationChanged(Configuration newConfig){
super.onConfigurationChanged(newConfig);
setContentView(R.layout.main);
}
으로 내가 canvas.drawColor (Color.BLACK)를 주석 때, 페인트 (캔버스)가 호출되는 및 다음에 canvas가 그 함수에서 사용될 때 null 포인터 예외가 발생합니다.
도움 말?