好的,我的游戏以2个按钮开头: 一个是使用此代码的新游戏:
case R.id.newgame:
openNewGameDialog();
break;
private void openNewGameDialog() {
new AlertDialog.Builder(this)
.setTitle("new game")
.setItems(R.array.difficulty,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialoginterface,
int i) {
startGame(i);
}
})
.show();
}
private void startGame(int i) {
Log.d(TAG, "clicked on " + i);
Intent intent = new Intent(SudokuActivity.this, Game.class);
startActivity(intent);
intent.putExtra(Game.KEY_DIFFICULTY, i);
}
好的,现在游戏开始了。我假设我玩了2分钟,然后决定继续菜单,所以我按下手机上的BACK按钮。菜单出现,但现在我想回到我的游戏并从我离开的地方继续。
我试着把finish();在继续按钮上,但当我按下它时,它只是让我进入主安卓屏幕。
答案 0 :(得分:0)
在游戏活动中,您必须覆盖onPause方法,并调用保存逻辑。您可以使用SQLite或file来存储活动状态。并且在onCreate或onResume of Game中加载此数据(如果存在)并恢复游戏。 即使主要活动崩溃,或者用户推动Home btn,它也是正确的工作。