안녕하세요. 초보개발자 도깨비 입니다.

이번에 부딪힌 문제는

AlertDialog입니다.. 제가 surfaceView위에 게임을 그려주고 있는데

백버튼을 눌렀을 때 종료시키겠냐는 AlertDialog를 화면에 보여주는데..

종료버튼이야 프로그램을 종료시키는 거라 제대로 작동은 하지만

취소버튼은 제대로 동작을 하지 않습니다. 백버튼을 누르면 기존의 게임동작을 위한 쓰레드를 멈추고

AlertDialog창을 보여줍니다. 이때 취소버튼을 누르면 다시 쓰레드를 run()을 시키도록 하였는데

AlertDialog창이 사라지지 않는 상태에서 게임이 진행됩니다. 제 짧은 생각에는 surfaceView에 뿌려주는 게임과는 달리

일반 view에 뿌려지는 AlertDialog이 그대로 남아있는것 같습니다. 어떻게 없앨 방법은 없는지 궁금합니다.

// 다이얼로그 생성
builder = new AlertDialog.Builder(this)
     .setIcon(R.drawable.icon)
     .setTitle("예제")
     .setMessage("종료하시겠습니까?")
     .setPositiveButton("종료", new DialogInterface.OnClickListener() {
      public void onClick(DialogInterface dialog, int whichButton) {
          PlayGame.this.finish();
      }
     })
     .setNegativeButton("취소", new DialogInterface.OnClickListener() {
      @Override
   public void onClick(DialogInterface dialog, int which) {
           gameSurfaceView.mPlayThread.run();
      }
     }).create();
// 백터튼 이벤트 처리
@Override
 public boolean onKeyDown(int keyCode, KeyEvent event) {
  switch (keyCode) {
        case KeyEvent.KEYCODE_BACK:
               // 게임을 멈춘다.
               builder.show();
               return true;
       }
      return false;
    }