Я развиваю игру. Играя в игру, если пользователь нажимает кнопку возврата устройства, я должен приостановить поток и отобразить окно предупреждения, которое подтверждает, действительно ли пользователь хочет выйти или нет. Если пользователь хочет выйти из него просто выйдите из игры. Но проблема возникает, когда пользователь не хочет выходить. Затем мне нужно возобновить поток. но я не могу сделать that..given ниже мой фрагмент кода ..Как приостановить и возобновить поток в моем приложении?
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
MyGamePanel.thread.setRunning(false);
AlertDialog alertDialog = new AlertDialog.Builder(this).create();
alertDialog.setTitle("Exit Alert");
alertDialog.setMessage("Do you really want to exit the Game?");
alertDialog.setButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
finish();
return;
} });
alertDialog.setButton2("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
MyGamePanel.thread.resume();
MyGamePanel.thread.setRunning(true);
return;
}});
alertDialog.show();
return true;
}
return super.onKeyDown(keyCode, event);
}
и Приводимые ниже нить часть.
@Override
public void run() {
Canvas canvas;
Log.d(TAG, "Starting game loop");
while (running) {
canvas = null;
try {
canvas = this.surfaceHolder.lockCanvas();
synchronized (surfaceHolder) {
// update game state
this.gamePanel.update();
// render state to the screen
// draws the canvas on the panel
this.gamePanel.render(canvas);
}
} finally {
// in case of an exception the surface is not left in
// an inconsistent state
if (canvas != null) {
surfaceHolder.unlockCanvasAndPost(canvas);
}
} // end finally
}
}
update() и рендер - это две функции, написанные в классе MyGamePanel.
я попробовал много вещей, но никто не working..please помочь мне ...
, пожалуйста, помогите мне ... я застрял на этом .. –